OC 类的私有属性

oc中函数没有private属性,这和动态有关
可以用performSelector 调用私有函数。
同时子类也可以通过[sub_object performSelector:@selector(super_privateMethod)]调用父类的私有方法,这刚好符合oc的动态函数的思想。
同时oc的"."语法是通过setter和getter函数间接实现的,所以有相应方法的私有属性也可以通过performSelector获取。

例子:
@importation SubObject{
NSString* string;
}

像上面的 string属性没有setter和getter方法,所以无法通过performSelector获取,除非类中实现了-(void) string; 对应的方法
string 只是一个实例变量并非属性。可用_>访问

遗留问题:

私有方法是否可以通过runtime机制更改实现?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 307、setValue:forKey和setObject:forKey的区别是什么? 答:1, setObjec...
    AlanGe阅读 5,503评论 0 1
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,387评论 30 472
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 10,474评论 0 13
  • 小学的时候你问我,为什么要考一百分?我会回答你,这样爸妈就会给奖励,假期就可以开开心心地玩耍。 初中的时候你问我,...
    以文酿酒阅读 2,962评论 0 4
  • 0. 反向代理和正向代理 先上图: 正向代理是针对client的,client发出的请求会经过代理服务器,然后到达...
    keith666阅读 3,379评论 0 1