Objective-C 私有方法

Posted by Elton's Blog on November 8, 2009

在面向对象的开发中,一个很重要的原则就是不要暴露不需要暴露的东西。 在Objective-C中,在头文件中你只能声明类方法和实例方法,这意味着你所有的方法都要暴露在外边。

其实在Objective-C中也可以来声明一个私有方法,这个方法只有本类可见,其他任何类都看不到,即使是继承于这个类的其他子类也无法看到。 方法也比较简单。

@interface Controller : NSObject
{
	NSString *something;
}
 
+ (void)thisIsAStaticMethod;
- (void)thisIsAnInstanceMethod;
 
@end
 
@interface Controller (Private)
 
- (void)thisIsAPrivateMethod;
 
@end

只要在头文件或者实现类里面添加一个interface,这个Interface的名字跟头文件里面的一样,只是后面加上了(Private)。现在在这个interface中声明的方法就是私有方法了。