根据开发人员文档,类扩展是通过在实现文件中声明@interface
来实现的,它还可以用于将实例变量重新声明为私有的。但是,我经常看到下面的代码没有声明新的方法或实例变量。它的目的是什么?
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
...
最佳答案
这样的代码背后没有任何目的。唯一的原因是它是在Xcode中创建.m文件的标准模板的一部分。
尽管如此,这样的类扩展是完全无害的,所以在需要添加私有方法或变量时保留它们不会影响应用程序的性能。最后,这是一个个人品味的问题:例如,我从代码中移除这些未使用的模板生成的工件,但是我可以接受一个有利于保留它们的参数。
如果您不希望在默认情况下生成这些类扩展,请克隆并修改新objective-c类的xcode模板(here is a Q&A explaining how to do it)。
关于objective-c - 没有任何内容的类扩展的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28013856/