什么是NSTokenField指定的初始化器?

时间:2012-09-01 11:14:44

标签: objective-c cocoa nstokenfield

我正在尝试子类化NSTokenField,我需要在初始化期间设置一些ivars,但我无法工作,我必须覆盖哪个初始化器。该文档没有说明令牌字段继承的NSTokenFieldNSTextField的指定初始值。

我尝试覆盖-initWithFrame:-init:,但他们也没有被调用。

1 个答案:

答案 0 :(得分:2)

如果在代码中创建文本字段,则应为initWithFrame:;如果在XIB(Interface Builder)文件中创建字段,则为initWithCoder:

这是因为NSTokenField继承自NSView,符合NCoding协议。因此,这对从NSView继承的其他对象也有效。

所以基本上,你应该在子类中覆盖它们:

- ( id )initWithFrame: ( NSRect )frame;
- ( id )initWithCoder: ( NSCoder * )decoder;