【问题标题】:How are binding specified for Interface Builder plugins?如何为 Interface Builder 插件指定绑定?
【发布时间】:2008-11-26 14:27:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: objective-c cocoa macos interface-builder


    【解决方案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];
        }
    }

    看看this CocoaDev article 和苹果的NSKeyValueBindingCreation Protocol Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 2010-12-21
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2011-09-27
      相关资源
      最近更新 更多