2012-03-01 54 views
0

我一直在类文件中设置我的方法原型,而不是头文件。我不确定它是否真的有所作为,我应该使用头文件。iPhone方法原型

以这种方式设置原型有缺点或优点吗?

#import "SettingsViewController.h" 

@interface SettingsViewController() 

    - (void)syncSettings; 

@end 

@implementation SettingsViewController 

- (void)syncSettings 
{ 
    // Code Here 
} 

// Other Methods 

@end 
+0

[可能在.h文件和.m文件中指定@interface和@end声明方法之间的差异的重复(http://stackoverflow.com/questions/8196170/difference-between-declaring-methods-in- h-file-and-in-m-file-specify-inter) – 2012-03-01 03:00:03

回答

2

任何限制为.m的文件都不会被其他.m文件看到。所以作为一般规则,将仅打算发布的接口功能放入.h文件中是有利的 - 不要将您打算保留在其中的方法放在那里,也不要将实例变量放在那里。

将实施细节保留在公开接口之外并超出公共接口没有任何缺点。

+0

谢谢你,因为。 – Vikings 2012-03-01 02:55:30

1

@Tommy非常正确。应该指出的是,这些方法是不可见的,但一个有进取心(读:危险)的程序员仍然可以使用它们。 Objective-C没有强制私有方法的概念。

,仅供参考,构建@interface MyClass()被称为类扩展类延续。如果您稍后想要询问其他问题,正确的术语将会很有帮助。

+0

感谢您的信息 – Vikings 2012-03-01 02:58:33

+0

这是我的荣幸。 – 2012-03-01 02:59:47