没有任何内容的类扩展的目的是什么?

时间:2015-01-18 19:28:24

标签: objective-c class-extensions

根据开发人员文档,通过在实现文件中声明@interface来实现类扩展,并且它还可以用于将实例变量重新声明为私有。但是,我经常看到下面的代码没有声明新方法或实例变量。它的目的是什么?

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController 
...  

1 个答案:

答案 0 :(得分:4)

此类代码背后没有任何目的。唯一的原因是它是用于在Xcode中创建.m文件的标准模板的一部分。

有了这样说,这样的类扩展是完全无害的,所以保留它们以防你需要添加私有方法或变量不会损害你的应用程序的性能。最后,这是个人品味的问题:例如,我从我的代码中删除了这些未使用的模板生成的工件,但我可以接受一个支持保留它们的参数。

如果您不希望默认生成这些类扩展,请为新的Objective-C类(here is a Q&A explaining how to do it)克隆和修改Xcode模板。