Как указывается привязка для подключаемых модулей Interface Builder?

Я создаю плагин Interface Builder для подкласса NSView. Я следил за Руководством по программированию подключаемого модуля Interface Builder но это не ответ на все мои вопросы. У моего класса есть одно свойство NSString и 4 свойства NSColor, для которых я хочу создать привязки во время разработки.

Я не могу понять, где в проекте плагина указаны привязки. В документации указано, что объект инспектора предназначен только для создания инспектора атрибутов. В файле описания класса (.classdescription) перечислены выходы и действия, но не привязки.

Где мне указать привязки для моего класса?


person Community    schedule 26.11.2008    source источник


Ответы (1)


В инициализаторе класса вызовите + (void)exposeBinding:(NSString *)binding следующим образом:

+ (void)initialize
{
    [self exposeBinding:@"someProperty"];
}

Вы также можете указать класс значения следующим образом:

- (Class)valueClassForBinding:(NSString *)binding
{
    if ([binding isEqual:@"someProperty"])
    {
        return [NSNumber class];
    }
    else
    {
        return [super valueClassForBinding:binding];
    }
}

Взгляните на эту статью о CocoaDev и статью Apple Справочник по протоколу NSKeyValueBindingCreation

person e.James    schedule 26.11.2008