我一直在类文件中设置我的方法原型,而不是头文件。如果我使用头文件,我不确定它是否真的有所作为。
以这种方式设置原型是否有缺点或优势?
#import "SettingsViewController.h"
@interface SettingsViewController()
- (void)syncSettings;
@end
@implementation SettingsViewController
- (void)syncSettings
{
// Code Here
}
// Other Methods
@end
答案 0 :(得分:2)
您限制为.m的任何内容都不会被其他.m文件看到。因此,作为一般规则,只将您想要发布的接口功能放入.h中是有利的 - 不要将您打算保密的方法放在那里,也不要将实例变量放在那里。
将实现细节保留在未公开的公共接口之上是没有缺点的。
答案 1 :(得分:1)
@Tommy非常正确。应该注意的是,这些方法是不可见的,但是一个有进取心(读:危险)的程序员仍然可以使用它们。 Objective-C没有强制私有方法的概念。
FYI,构造@interface MyClass ()
被称为类扩展或类继续。如果您想稍后提出其他问题,正确的术语将会有所帮助。