2012-02-16 73 views
1

我有一個應用程序,它有一個UINavigationController,它有幾個UIViewControllers。每個ViewController都有自己的筆尖。如何跨視圖控制器共享UIViews和其他元素?

這兩個視圖控制器是90%相同的。所以目前有很多代碼重複。所以我想知道有沒有辦法分享處理每個筆尖的代碼?

換句話說,一個可以在視圖控制器之間傳遞的類,它可以管理所有的界面元素?

+1

用公共代碼編寫一個UIViewController,然後對其進行子類化。見http://www.optictheory.com/iphone-dev/2010/03/objective-c-primer-part-4-inheritance-and-subtyping/。如果你必須在兩個視圖之間共享數據,那麼你基本上必須做更多的混亂,創建一個單例:http://iphone.galloway.me.uk/iphone-sdktutorials/singleton-classes/ – nflacco 2012-02-16 19:14:27

回答

1

您可能會考慮使用單個UIViewController類,因爲它們非常相似。在init方法中,只需要加載你需要的那個nib即可。

另一種選擇是爲UIViewController之一擴展另一個。

無論哪種方式,通常較少的代碼更好。

1

我見過一個例子,其中每個ViewController從一個Class繼承而來,這個類另外有一個類,這個類是主類,這個類(main)具有這兩個視圖的委託需求。

相關問題