2013-12-09 41 views
1

我注意到Apple给Core Data和UITableViewControllers提供的模板,它将configureCell方法放在.m文件的接口部分。在.m文件的界面部分声明私有方法有什么好处?

@interface CustomTableViewController() 

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

@end 

这样做的好处是什么?到目前为止,我总是只写自定义方法,但不像上面的Apple那样在文件的任何其他地方“声明”它们。我应该这样做吗?

+0

另请参阅http://stackoverflow.com/questions/9414410/private-method-declaration-objective-c?rq=1。它本质上是重复的。在输入问题时记住这一点 - 总是看看SO建议的相关问题。 – rmaddy

回答

3

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

通过在类扩展中添加私有方法的声明,订单问题就消失了。如果您有两种需要互相呼叫的方法,它也解决了一个问题。也不可能是第一。

但是现代编译器现在基本上做了两遍编译,所以不再需要私有声明。

2

当您想要记录代码时,私人界面派上用场 - 您可以将所有文档代码置于专用界面,并且在实现主体功能时不需要不必要的注释块即可保持实施清洁。

除此之外,我发现它让它更加烦人 - 因为当你重构它或者添加新的参数时,你必须记住要经过这个接口 - 否则它可能会导致崩溃。

相关问题