2011-09-07 86 views
0

在界面構建器中有可用類型的對象,稱爲「對象」。如何在界面構建器中使用對象類型?

我試圖用一個屬性指向這些對象之一來連接視圖。 我已經將接口構建器中的對象的類設置爲自定義類。我不需要在此自定義類上設置任何其他屬性。基本上我希望的行爲是,如果該屬性被設置,那麼視圖將在其生命週期中調用一個方法。

但是,當視圖從nib文件被誇大時,視圖上的屬性仍爲零。

正在嘗試做什麼?

+0

可能你會解釋你想做什麼?我們會建議你最好的方法。 – Nekto

+0

您是否在視圖(或視圖控制器)中聲明瞭與您的筆尖對象的自定義類相同類型的屬性+ IBOutlet?你在Interface Builder/Xcode中鏈接了它們嗎?如果是這樣,在加載nib時,應該實例化自定義類的對象,並且視圖/視圖控制器中的屬性應該指向該對象。 – 2011-09-07 09:12:02

+0

基本上,我正在嘗試創建一個可重用行爲的框架,我可以在界面生成器中將其添加到視圖中,而無需訴諸代碼。 – Ian1971

回答

0

我認爲:

  • 如果您在Interface Builder添加你的自定義對象一樣顯示在this video;和
  • 如果你把它連接到正確定義的屬性在您的視圖控制器(例如@property (nonatomic, retain) IBOutlet MyClass *anObj;和* .m文件合成;及
  • 如果你沒有覆蓋在 奇怪+alloc和自定義類的-init方式(IB對象獲得通過的alloc實例化和init調用AFAIK - 有人請糾正我,如果我錯了)

你的對象不應該是nil筆尖文件在運行時未歸檔後,如果我符合上述條件。我在IB的對象,他們不是nil

+0

我想我找到了問題。該物業正在設置,但我在生命週期中過早尋找它。我認爲它會在視圖上調用initWithCoder之後纔可用,但直到調用該對象上的initWithCoder之後它纔可用。現在看來很明顯。 – Ian1971

+0

不是我想的,但實際上我需要在awakeFromNib中檢查。 RTFM我! – Ian1971

相關問題