У меня есть два экземпляра UIColor, и я хочу использовать их для создания градиента.Код работает, но он выдает мне предупреждение, когда я вызываю конструктор arrayWithObject:
:
предупреждение: семантическая проблема: несовместимые типы указателей отправляют параметр CGColorRef (он же struct CGColor *) параметрутипа 'id'
Я подозреваю, что есть другие проблемы, связанные с предупреждением (например, утечки).Вот фрагмент:
UIColor *startColor, *endColor;
// ...
NSArray *colors = [NSArray arrayWithObjects:
startColor.CGColor, endColor.CGColor, nil];
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace,
(CFArrayRef) colors, NULL);
Как переписать код, чтобы безопасно избавиться от этого предупреждения?
- Я попытался создатьCGArrayRef вручную, но через некоторое время это стало немного неприятным.
- CGGradientCreateWithColorComponents работает, но мне не нравится вручную объединять все цветовые компоненты в
CGFloat components[]