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