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

Objective c 在.m文件的接口部分声明私有方法有什么好处?,objective-c,Objective C,我从Apple提供的包含核心数据和UITableViewController的模板中注意到,它将configureCell方法放在.m文件的接口部分 @interface CustomTableViewController () - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath; @end 这样做的好处是什么?到目前为止,我一直只编写自定义方法,但并没有像上面苹果那样在文件中

我从Apple提供的包含核心数据和UITableViewController的模板中注意到,它将
configureCell
方法放在.m文件的接口部分

@interface CustomTableViewController ()

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

@end

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

当您想要记录代码时,私有接口非常方便—您可以将所有文档代码放在私有接口中,并在实现函数体时保持实现干净,不需要不必要的注释块


除此之外,我发现把它放在那里更烦人——因为当你重构它或添加新参数时,你必须记住也要通过那个接口——否则它可能会导致but崩溃。

当你想记录代码时,私有接口就派上了用场——你可以把所有的文档代码放在私有接口上,然后在实现函数体时,保持实现干净,没有不必要的注释块


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

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

通过在类扩展中添加私有方法的声明,顺序问题消失了。如果有两个方法需要相互调用,那么它也解决了一个问题。两者都不可能是第一名


但是现代的编译器现在基本上执行两次编译,因此不再需要私有声明。

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

通过在类扩展中添加私有方法的声明,顺序问题消失了。如果有两个方法需要相互调用,那么它也解决了一个问题。两者都不可能是第一名

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

另请参见。它本质上是一个复制品。在键入问题时,请记住这一点-始终查看相关问题的建议。另请参阅。它本质上是一个复制品。在键入问题时请记住这一点-始终查看相关的问题。