Я использую Opacity для создания всех моих иллюстраций Quartz2D, и сейчас я занимаюсь вопросом изменения цвета с помощью KVC / KVO.Непрозрачность определяет все свои цветовые переменные как @dynamic и реализует свои собственные методы доступа как часть определения класса.
Мой вопрос таков;как передать новое значение CGColorRef по значению ключа?
До сих пор (в качестве испытательного стенда) я получил это далеко:
// Testbed ... Testbed ... Testbed ... Testbed ... Testbed ... Testbed ... Testbed ...
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGFloat components[4] = {1.0f, 1.0f, 1.0f, 1.0f};
CGColorRef color = CGColorCreate(space, components);
[myCALayerReceiverObject setValue: color forKey: @"numColour"];
// Testbed ... Testbed ... Testbed ... Testbed ... Testbed ... Testbed ... Testbed ...
Цветовое пространство и код создания непосредственно поднятыиз генератора классов CALayer Opacity (я еще не настолько продвинут), но передача 'color' в качестве значения вызывает сбой симулятора iPhone, и XCode выдает мне очень загадочное предупреждение;
"Несовместимые типы указателей, отправляющие 'CGColorRef'(он же struct' CGColor * ') к параметру типа' id '".
Как мне обернуть CGColorRef, чтобы передать его через KVC получателю?Заранее спасибо.