Objective-C 私有变量和私有方法如何实现?

先说私有方法,
由于Objective-C的动态消息传递机制,OC中不存在真正意义上的私有方法。
但是如果你不在.h文件中声明,只在.m文件中实现,或在.m文件的Class Extension里声明,那么基本上和私有方法差不多。

至于私有变量是可以通过@private来声明的,例如

@interface Sample : NSObject{
    @private
    NSString *tteesstt;
} 
@property (nonatomic,strong) NSString *hoge;
- (void)foo;
@end 

则tteesstt变量是私有的。而属性hoge是默认公有。

现在Apple官方文档里是用property比较多,直接定义instance variable少。将property定义到.m的Class Extension也基本上和私有变量差不多。

简而言之,将你希望公有的放到.h文件,私有的放到.m文件。在import时只import .h文件(.m文件也是可以import的,但是我们一般不这么做)。

posted @ 2015-08-01 09:47  dzldzl  阅读(375)  评论(0编辑  收藏  举报