Objective c 在.m文件的接口部分声明私有方法有什么好处?
我从Apple提供的包含核心数据和UITableViewController的模板中注意到,它将Objective c 在.m文件的接口部分声明私有方法有什么好处?,objective-c,Objective C,我从Apple提供的包含核心数据和UITableViewController的模板中注意到,它将configureCell方法放在.m文件的接口部分 @interface CustomTableViewController () - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath; @end 这样做的好处是什么?到目前为止,我一直只编写自定义方法,但并没有像上面苹果那样在文件中
configureCell
方法放在.m文件的接口部分
@interface CustomTableViewController ()
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
@end
这样做的好处是什么?到目前为止,我一直只编写自定义方法,但并没有像上面苹果那样在文件中的任何地方“声明”它们。我应该这样做吗?当您想要记录代码时,私有接口非常方便—您可以将所有文档代码放在私有接口中,并在实现函数体时保持实现干净,不需要不必要的注释块
除此之外,我发现把它放在那里更烦人——因为当你重构它或添加新参数时,你必须记住也要通过那个接口——否则它可能会导致but崩溃。当你想记录代码时,私有接口就派上了用场——你可以把所有的文档代码放在私有接口上,然后在实现函数体时,保持实现干净,没有不必要的注释块
除此之外,我发现把它放在那里更烦人——因为当你重构它或添加新参数时,你必须记住也要通过该接口——否则它可能会导致but崩溃。这是一种旧样式,不再需要了。在旧版本的编译器中,方法的顺序必须正确。换句话说,一个方法只能调用在.m文件中出现在它前面的私有方法 通过在类扩展中添加私有方法的声明,顺序问题消失了。如果有两个方法需要相互调用,那么它也解决了一个问题。两者都不可能是第一名
但是现代的编译器现在基本上执行两次编译,因此不再需要私有声明。这是旧式的,不再需要了。在旧版本的编译器中,方法的顺序必须正确。换句话说,一个方法只能调用在.m文件中出现在它前面的私有方法 通过在类扩展中添加私有方法的声明,顺序问题消失了。如果有两个方法需要相互调用,那么它也解决了一个问题。两者都不可能是第一名 但是现代编译器现在基本上执行两次编译,因此不再需要私有声明。另请参见。它本质上是一个复制品。在键入问题时,请记住这一点-始终查看相关问题的建议。另请参阅。它本质上是一个复制品。在键入问题时请记住这一点-始终查看相关的问题。