2012-09-01 43 views
2

我想要子類NSTokenField,我需要在初始化過程中設置一些ivars,但我無法工作哪個初始化程序必須重寫。該文檔沒有說明token標記字段繼承的NSTokenFieldNSTextField的指定初始值。什麼是NSTokenField指定的初始化程序?

我試着重寫-initWithFrame:-init:但他們也沒有被調用。

回答

2

它應該是initWithFrame:(如果您在代碼中創建文本字段)或initWithCoder:(如果字段是在XIB(Interface Builder)文件中創建的)。

這是因爲NSTokenField繼承自NSView,它符合NCoding協議。所以這對於從NSView繼承的其他對象也是有效的。

因此,基本上,你應該在子類中重寫兩個:

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

謝謝'-initWithCoder:'工作做到了。 – Jacopo

相關問題