Fat*_*ror 23 objective-c interface-builder uiviewcontroller ios
我有一个基本视图控制器类,它UIViewController
继承自基类的继承viewcontroller
类.现在我有一个nib,其文件所有者是继承的类,但我的所有操作和出口都在基类中.甚至可以将nib文件中的action\outlet连接到基类中的action\outlet吗?
abb*_*ood 30
我将基本上通过例子解释它:
定义一个基类(让我们调用它BaseViewController
)并UITableView
在.h文件中为它分配一个IBoutlet:
// BaseViewController.h
@interface BaseViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@end
Run Code Online (Sandbox Code Playgroud)
定义两个子类(即FirstChildViewController
和SecondChildViewController
):
// FirstChildViewController.h
@interface FirstChildViewController : BaseViewController
@end
// SecondChildViewController.h
@interface SecondChildViewController : BaseViewController
@end
Run Code Online (Sandbox Code Playgroud)
现在要使子类中的任何一个(或两个)使用基类的iboutlet,只需将引用出口拖动到基类.h文件中的属性定义..就是这样!
这是一个完整的项目,说明了这一点.
完成此任务的两种方法:
1)
以编程方式(即代码中)
首先在基类中声明你的网点.
然后通过继承类中的代码分配您的商店.
和
2)
您还可以在XIB文件中分配插座和操作.Xcode了解基类的继承出口和操作.
如果基类在Swift框架中,那么即使基类及其出口是公共的,有时Xcode 7也不会看到出口.在这种情况下,解决方法如下:
IB将显示"!" 在出口旁边,好像它们丢失了,但在运行时没有错误.
如果有人有更好的解决方法,请告诉我!
归档时间: |
|
查看次数: |
10378 次 |
最近记录: |