2013-01-02 44 views

回答

1

你想重用你的視圖控制器代碼文件的.m和.h或者你希望重新使用具有UI故事板的對象?

重複使用您的代碼很容易完成。每個故事板對象可以與一個自定義類相關聯。它的身份在右側的對象檢查器上。您可以將相同的視圖控制器類分配給一個或多個故事板對象 - 允許您重新使用您的代碼。

如果你想重用你,你在故事板創建的視圖佈局和重複使用相同的故事板,但不同的視圖控制器類 - 來管理不同的功能 - 這是目前不可能。

一個潛在的解決辦法是通過增加一個XIB文件,並把你的用戶界面,在定義一個自定義的UIView。然後創建一個自定義的UIView子類並分配它。然後在故事板中,您可以初始化自定義視圖並將其添加爲子視圖。您將引用自定義類來管理UI。

除非你的用戶界面是非常複雜的,它通常是更容易簡單地重新創建單獨的故事板的用戶界面和相應的視圖控制器分配給他們。您可以使用cmd-d複製故事板,或者直接複製並粘貼。在將UI對象連接到任何代碼之前,應該先執行此操作,因爲有時複製和粘貼操作將繼承舊引用。

所以,設置你的TabBar控制器,單獨的導航控制器連接到每一個標籤,然後連接的圖控制器(視圖或tableview中或的PageController等)作爲根視圖到每個導航控制器。然後設置您的UI,然後分配您的自定義子類,然後將UI連接到您的子類中的屬性。請記住,您可以在故事板中的多個視圖控制器中重複使用您的子類,因爲每個故事板都將創建該子類的新實例。您可能只需要一些額外的邏輯即可在每個選項卡功能上正確地管理事情。

也沒有代碼,只是我的0.02 新年快樂。

+0

非常感謝,新年快樂!我已經完成了大部分的描述 - 因爲UI在幾個選項卡中類似,我剛剛複製粘貼的View控制器並連接到選項卡導航控制器(全部在故事板中執行)。 –

+0

問題是我有singleton類來保持全局變量,所以我想我需要爲每個選項卡有幾個單例類,第二個問題是我不知道如何確定哪個標籤導航控制器調用了視圖控制器爲了執行特定的數據排序,請給出建議... 1.是否有幾個單例是正確的?,2.如何確定哪個導航控制器管理我的視圖控制器? –

+0

Hi @David - 你會發現很多關於使用單例的爭論。就我個人而言,我沒有使用它的問題,但我的最佳實踐建議是這樣的:如果您需要存儲一個或兩個屬性,使用應用程序委託,它實際上是一個方便的單例。如果你有很多屬性和方法,那麼就分離出一個小目的,併爲此目的限制你的單例。避免使用不同功能填充你的單身人士的誘惑,因爲它往往會導致意大利麪代碼。如果你需要在你的tabbar視圖控制器中共享一個模型,單身是一個好方法。 – CocoaEv