2012-02-16 68 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)具有这两个视图的委托需求。

相关问题