3

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

我无法弄清楚插件项目中在哪里指定了绑定。文档指出 Inspector Object 仅用于创建 Attribute Inspector。类描述文件 (.classdescription) 列出了出口和动作,但不列出绑定。

我在哪里为我的班级指定绑定?

4

1 回答 1

3

在您的类初始化程序中,调用+ (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 协议参考

于 2008-11-26T14:38:23.260 回答