Objective c 如何为Interface Builder插件指定绑定?

Objective c 如何为Interface Builder插件指定绑定?,objective-c,cocoa,macos,interface-builder,Objective C,Cocoa,Macos,Interface Builder,我正在为NSView子类创建一个Interface Builder插件。我一直在关注这个问题,但它并没有回答我所有的问题。我的类有一个NSString属性和4个NSColor属性,我想在设计时为它们创建绑定 我无法确定在插件项目中指定绑定的位置。文档说明,Inspector对象仅用于创建属性Inspector。类描述文件(.classdescription)列出了出口和操作,但没有列出绑定 在何处指定类的绑定?在类初始值设定项中,调用+(void)exposeBinding:(NSString*

我正在为NSView子类创建一个Interface Builder插件。我一直在关注这个问题,但它并没有回答我所有的问题。我的类有一个NSString属性和4个NSColor属性,我想在设计时为它们创建绑定

我无法确定在插件项目中指定绑定的位置。文档说明,Inspector对象仅用于创建属性Inspector。类描述文件(.classdescription)列出了出口和操作,但没有列出绑定


在何处指定类的绑定?

在类初始值设定项中,调用
+(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];
    }
}
您可能还希望按如下方式指定值类:

+ (void)initialize
{
    [self exposeBinding:@"someProperty"];
}
- (Class)valueClassForBinding:(NSString *)binding
{
    if ([binding isEqual:@"someProperty"])
    {
        return [NSNumber class];
    }
    else
    {
        return [super valueClassForBinding:binding];
    }
}
看看苹果的