objective c中有私有方法和私有变量吗
3个回答
推荐于2017-11-27 · 知道合伙人软件行家
关注
展开全部
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的,但是我们一般不这么做)。
展开全部
都有, @interface StaticData : NSObject { NSDictionary * dict;//私有变量 } 一个方法直接写在 @implementation StaticData里面而不再.h里面声明,就是私有方法,也可以通过延展来、匿名类目来实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
私有变量是有的,但没有严格意义上的私有方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询