一个xib,很多ViewControllers - 这是一个正确的方法吗?

时间:2013-12-04 23:26:17

标签: ios objective-c uiviewcontroller xib nib

我是iOS新手。我目前正在开发iOS应用程序,我有一个小问题。我有几个ViewControllers,它们的视图是相同的 - 带有一些数据的tableView。只有逻辑是不同的 - 如果选择一行,会发生不同的事情,行也会略有不同,但这些差异是在ViewControllers代码中进行的。我的问题是,为那些ViewControllers创建xib的正确方法是什么?我应该为每个ViewController创建新的xib还是为所有这些创建一个新的xib?如果有,那么使用xib的FilesOwner?我在xCode中设置它,所以我应该更改它还是什么?只有一个视图好吗? 谢谢!

3 个答案:

答案 0 :(得分:4)

如果所有视图都是UITableView,则只需要一个xib文件(让我们将其命名为GenericTableView.xib),添加UITableView,将其与文件所有者连接,文件所有者只需{{1} }}。之后创建UITableViewController的单独子类并在那里实现您的特定行为。

在您的代码中,您可以使用

轻松启动任何UITableViewController子类
UITableViewController

答案 1 :(得分:0)

之前的答案是正确的,但我觉得在实例化ViewControllers或在代码中使用xib并不舒服。我让segues做所有的工作。

我会有一个基类,比方说GenericTableViewController并在那里定义常见行为(比如IBActions或与UI的交互),视图也是继承的,所以所有子类(viewcontrollers)都共享它。

答案 2 :(得分:0)

Swift 4.2

MyViewController.init(nibName: "MyGenericVC", bundle: Bundle.main)