【发布时间】:2015-01-23 04:00:19
【问题描述】:
我正在创建一个应用程序并开始遇到一个问题,即我的应用程序的大小变得非常大,我正在寻找可以减小大小的方法。我有超过 50 个 xib,所以我认为这是我可以改进的领域之一。我有很多 xib,它们都与不同的 View Controller eacbh 匹配,其中一些非常相似。
我希望能够采用这些类似的 ViewController,并为所有这些 ViewController 重用一个 xib 以减小大小。
我认为继承是最好的方法。创建我所有其他 ViewController 扩展的“SuperViewController”。 SuperViewController 将连接到 xib,然后我可以重用我需要的东西。
这是我在 SuperViewController.m 中的内容:
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UIView *emptyView;
@property (weak, nonatomic) IBOutlet UIButton *currentButton;
@property (weak, nonatomic) IBOutlet UIButton *quitWalkButton;
所有这些 IBOutlets 都在我的 xib 文件中,并且在我的所有 ViewController 中。每个 ViewController 只是做的事情略有不同。
问题是,因为它们在我的 .m 文件中,它们本质上是私有的,我无法从子类中访问它们。我可以将它们放在 .h 文件中并能够访问它们,但我不希望它们公开我希望它们“受到保护”。另外,我不确定点击之类的操作将如何工作,因为这些操作始终在 .m 文件中。
我开始认为继承不是在多个视图控制器中重用 xib 文件的方法,但我不确定这样做的可接受方式是什么。任何一种方式的建议都值得赞赏。
【问题讨论】:
-
创建视图控制器不要为此设置文件所有者...为所有子视图添加标签在viewDidLoad中添加xib文件并使用其标签访问xib文件子视图...
-
你是说实用地加载 nib 文件?
标签: ios inheritance uiviewcontroller xib