2011-01-31 62 views
2

我對Cocoa/Xcode比較陌生,不確定我是否以最「正確」的方式構建應用程序。我有許多對象在運行應用程序的同時處於活動狀態。我應該手動創建這些對象還是使用Interface Builder?應該手動或使用InterfaceBuilder創建我的對象嗎?

類型我指的對象:

  • 「下載」,這是負責將文件下載到硬盤
  • 用戶界面更新負責更新用戶界面,顯示的結果下載的文件

我應該在IB中創建這些對象並使用代碼設置它們之間的連接嗎?

回答

3

這實際上是個人喜好的問題。在我看來,IB只是非常善於佈置視圖,所以我傾向於只對視圖和視圖控制器使用IB,並在視圖控制器的viewDidLoad或init方法中的代碼中創建其他所有內容。

在您的示例中,將「下載器」對象直接連接到界面看起來像是MVC違規,所以我會讓下載器不在我的xib中。

「接口更新」將緊密連接到接口,所以它可能在筆尖,但除非我有一個很好的理由不會我可能會把該代碼放入我的視圖控制器類。

如果要在代碼中創建事物,請注意viewDidLoad/viewDidUnload可能會被調用很多次,因爲當它們不可見以節省內存時,os加載和卸載視圖。因此,只能將瞬態對象放在那裏......必須在init/dealloc方法中創建視圖控制器生命中必須存在的東西。我喜歡在代碼中完成大部分對象創建的部分原因是,您對內存的控制程度更高。

+0

+1提及違反MVC。說實話,我完全忘了這個模型,我應該在將來注意這個模型。 – Nippysaurus 2011-01-31 02:56:31

0

我通常在IB中構建儘可能多的代碼,然後在遇到IB的限制時切換到代碼。這聽起來像你應該能夠創建你在界面構建器中描述的UI。

相關問題