What's the logic of putting @interface in .m file?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Difference between @interface definition in .h and .m file
What is the @interface declaration in .m files used for in iOS 5 projects?
我见过这样的代码:
1 2 3 4 5 6 7 | // In Header.h @interface Header{} @end // In Header.m @interface Header() @end |
我的问题是:
1 2 3 4 5 6 | @interface MyClass(){ NSInteger aInt; } @property(nonatomic,strong) NSString *name; @end |
是类扩展
对于现代编译器来说,这是一种很好的方法,它可以去除方法、ivar和属性,只用于类myclass中的私有用途。
类扩展名必须在主实现文件中声明(不在类别中)。
所以您可以从头文件中隐藏实现细节,它们是私有的。
这已成为为给定类声明"私有"属性/方法的常见做法。通过在.m内部的匿名类扩展中声明它们,这些属性/方法不会向消费对象公开。