RunTime
klabcxy36897
码畜一枚
展开
-
关于运行时,获取私有变量和私有方法
1、下面的代码就是怎样获取私有变量(记得加头文件#import ): NSObject *str; Mobj *obj = [[Mobj alloc] init]; object_getInstanceVariable(obj, "mt_", (void *)&str); NSLog(@"%@",str); [obj release]; 2、下面的代码就是怎样获取私原创 2015-07-23 16:44:44 · 733 阅读 · 0 评论 -
NSCoding简单写法
ios序列化最终方案 最近在整合一些与服务器交互的东西,准备使用序列化的一些东西 使用NSCoding 来进行NSObject 的序列化实现: 整合了网上搜集的两片文章完成了功能: http://www.cnblogs.com/likwo/archive/2011/05/26/2058134.html - (void)encodeWithCoder:(NSCoder*)code原创 2015-07-23 17:49:05 · 776 阅读 · 0 评论 -
Objective-C Runtime 运行时之一:类与对象
Objective-C Runtime 运行时之一:类与对象 分类: 语言特性2014-10-31 17:05 1253人阅读 评论(0) 收藏 举报 原文地址:http://www.cocoachina.com/ios/20141031/10105.html Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来转载 2015-07-24 15:38:07 · 437 阅读 · 0 评论 -
为什么object_getClass(obj)与[OBJ class]返回的指针不同
引言 该文章与runtime相关,开始并没打算写,因为大神们写了好多runtime的文章,分析的都很全面、很深刻,再写也就是班门弄斧。但还是写了,因为我在看一个东西的时候偶尔发现了object_getClass(obj)与[OBJ class]返回的指针不同,感觉非常奇怪,因为它颠覆了我们对runtime中类结构模型的认识,后来在网上找了相关问题的答案,发现并没有,所以打算写一篇文章来和大家转载 2016-05-16 16:47:45 · 718 阅读 · 0 评论 -
Objective-C类成员变量深度剖析
Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objective-C类不能动态添加成员变量 总结 看下面的代码,考虑Objective-C里最常见的操作之一——类成员变量访问。转载 2016-05-17 18:32:08 · 397 阅读 · 0 评论 -
iOS开发-黑科技防止多次添加删除KVO出现的问题
一、使用场景 有时候我们会忘记添加多次KVO监听或者,不小心删除如果KVO监听,如果添加多次KVO监听这个时候我们就会接受到多次监听。 如果删除多次kvo程序就会造成catch,如下图 这时候我们就可以想一些方案来防止这种情况的发生。 二、使用技术 核心 : 利用runtime实现方法交换,进行拦截add和remove进行操作。 方案一 :利用 @try @ca转载 2016-06-15 12:52:25 · 9404 阅读 · 1 评论 -
KVC, KVO实现原理剖析
iPhone程序开发 KVO/KVC实现机理分析是本文要介绍的内容,不多说,直接进入话题。我们来看详细内容。 Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于KVO的学习,可以参考文章:《Key-Value Observing快速入门》:http://www.cocoadev.cn/Objective-C/Key-Va转载 2016-08-24 08:58:45 · 529 阅读 · 0 评论