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

问题描述 投票:2回答:3

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

ios objective-c uiviewcontroller xib nib
3个回答
4
投票

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

在您的代码中,您可以轻松启动任何UITableViewController子类

[[MyViewController alloc] initWithNibName:@"GenericTableView" bundle:[NSBundle mainBundle]];

0
投票

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

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


0
投票

Swift 4.2

MyViewController.init(nibName: "MyGenericVC", bundle: Bundle.main)
© www.soinside.com 2019 - 2024. All rights reserved.