2012-05-06 7 views
1

Я включил ARC и я пытаюсь сделать:ИОС литейные ObjC указатель на структуру cgcolorref

CGColorRef outerColor = (id)[UIColor colorWithWhite:1.0 alpha:1.0].CGColor; 

Мои попытки Результаты броска в ошибке:

Implicit conversion of an Objective-C pointer to 'CGColorRef' (aka 'struct CGColor *') is disallowed with ARC 

Я пробовал несколько вещей, но я не знаю, как закончить этот актерский состав.

+1

наклоняю просто удалить (ИН) бросание? – giorashc

ответ

3

Вам необходимо свернуть бросок, чтобы ARC мог понять, что вы делаете, и как реагировать на него. Проверьте принятый ответ на этот вопрос: ARC and bridged cast

0

(Отправленный ответ от имени ОП).

Я добавляю outerColor в массив, так что я сделал это:

CAGradientLayer *maskLayer = [CAGradientLayer layer]; 

CGColorRef outerColor = [UIColor colorWithWhite:1.0 alpha:1.0].CGColor; 
CGColorRef innerColor = [UIColor colorWithWhite:1.0 alpha:0.0].CGColor; 

maskLayer.colors = [NSArray arrayWithObjects:(__bridge id)outerColor, 
        (__bridge id)innerColor, (__bridge id)innerColor, (__bridge id)outerColor, nil];