我正在尝试对 NSTokenField
进行子类化,并且我需要在初始化期间设置一些 ivars,但我无法工作必须覆盖哪个初始化程序。该文档没有提及任何关于 token 字段继承的 NSTokenField
或 NSTextField
的指定初始化程序。
我尝试覆盖 -initWithFrame:
和 -init:
但它们也没有被调用。
最佳答案
如果您在代码中创建文本字段,则应为 initWithFrame:
;如果在 XIB(界面生成器)文件中创建该字段,则应为 initWithCoder:
.
这是因为NSTokenField
继承自NSView
,它符合NCoding
协议(protocol)。因此这对于继承自 NSView
的其他对象也有效。
所以基本上,您应该在子类中重写两者:
- ( id )initWithFrame: ( NSRect )frame;
- ( id )initWithCoder: ( NSCoder * )decoder;
关于objective-c - NSTokenField 指定的初始值设定项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227242/