我对自定义UiViewController继承感到有点困惑。
例如,如果我有:
@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UITableView *tableView;
id <MyDelegate> aDelegate;
AnObject *myObject;
}
@property (nonatomic, assign) id <MyDelegate> aDelegate;
@property (nonatomic, retain) AnObject *myObject;
@end
MyViewController的子类“继承”协议声明?也就是说,它是否可以覆盖它们中的方法,正确设置委托和数据源而不在其界面中重新声明?
那财产及其可能的解除分配呢?
我会举一些例子,链接......
答案 0 :(得分:2)
首先,协议只是一个类实现必需和(可选)可选方法的承诺。这就是全部。你可以在子类中覆盖这些,但是你想要这样。
表格视图的数据源和代理设置为self
,self
实现UITableViewDataSource
和UITableViewDelegate
协议。< / p>
在您的子类中,self
是子类。覆盖子类中的协议方法将完全正常。表视图是父类中定义的视图。
简而言之,答案是是。如果您需要更多信息,我建议您阅读@protocol
的工作原理。