假设我有一个符合协议的Objective-C类。在类中,我实现了协议中的一些方法。我应该在类扩展中声明这些方法还是应该避免它?
示例
// MyViewController.h
@interface MyViewController : UIViewController
<UITableViewDataSource>
@end
// MyViewController.m
@interface MyViewController ()
// Should I skip this?
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
@end
@implementaion MyViewController
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// The implementaion goes here
}
@end
答案 0 :(得分:0)
协议有必需和可选方法。当协议方法是可选的时,您应该在类扩展或类本身的接口部分中声明它。这将让编译器为您检查一致性。
在实施所需的方法时,例如tableView:numberOfRowsInSection:
,您可以采用任何一种方式,具体取决于贵公司使用的编码标准。我更喜欢声明这些方法 - 无论是在类扩展中还是在接口本身中。这样我就不需要检查是否需要方法。