在.m文件的接口部分声明私有方法有什么好处?

时间:2013-12-09 18:44:59

标签: objective-c

我注意到Apple提供的Core Data和UITableViewControllers模板将configureCell方法放在.m文件的接口部分。

@interface CustomTableViewController ()

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;

@end

这样做有什么好处?到目前为止,我一直只是编写自定义方法,但没有在文件中的任何其他位置“声明”它们,就像Apple上面那样。我应该这样做吗?

2 个答案:

答案 0 :(得分:3)

这是旧式,不再需要了。在旧版本的编译器中,方法必须按正确顺序排列。换句话说,一个方法只能调用.m文件中出现在它之前的私有方法。

通过在类扩展中添加私有方法的声明,订单问题就消失了。如果你有两个需要相互调用的方法,它也解决了一个问题。两者都不是第一。

但现代编译器现在基本上进行了两遍编译,因此不再需要私有声明了。

答案 1 :(得分:2)

当您想要记录代码时,私有界面会派上用场 - 您可以将所有文档代码放在私有界面上并在没有不必要的注释块的情况下保持实现清洁 - 当您实现函数体时。

除此之外,我发现将它保留在那里更加烦人 - 因为当你重构它或添加新参数时,你必须记住也要记住通过该接口 - 否则它可能导致但是崩溃。