
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 · 771 阅读 · 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 · 816 阅读 · 0 评论 -
Objective-C Runtime 运行时之一:类与对象
Objective-C Runtime 运行时之一:类与对象 分类: 语言特性2014-10-31 17:05 1253人阅读 评论(0) 收藏 举报原文地址:http://www.cocoachina.com/ios/20141031/10105.htmlObjective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来转载 2015-07-24 15:38:07 · 458 阅读 · 0 评论 -
为什么object_getClass(obj)与[OBJ class]返回的指针不同
引言该文章与runtime相关,开始并没打算写,因为大神们写了好多runtime的文章,分析的都很全面、很深刻,再写也就是班门弄斧。但还是写了,因为我在看一个东西的时候偶尔发现了object_getClass(obj)与[OBJ class]返回的指针不同,感觉非常奇怪,因为它颠覆了我们对runtime中类结构模型的认识,后来在网上找了相关问题的答案,发现并没有,所以打算写一篇文章来和大家转载 2016-05-16 16:47:45 · 761 阅读 · 0 评论 -
Objective-C类成员变量深度剖析
Non Fragile ivars为什么Non Fragile ivars很关键如何寻址类成员变量真正的“如何寻址类成员变量”Non Fragile ivars布局调整为什么Objective-C类不能动态添加成员变量总结看下面的代码,考虑Objective-C里最常见的操作之一——类成员变量访问。转载 2016-05-17 18:32:08 · 434 阅读 · 0 评论 -
iOS开发-黑科技防止多次添加删除KVO出现的问题
一、使用场景有时候我们会忘记添加多次KVO监听或者,不小心删除如果KVO监听,如果添加多次KVO监听这个时候我们就会接受到多次监听。如果删除多次kvo程序就会造成catch,如下图这时候我们就可以想一些方案来防止这种情况的发生。二、使用技术核心 : 利用runtime实现方法交换,进行拦截add和remove进行操作。方案一 :利用 @try @ca转载 2016-06-15 12:52:25 · 9562 阅读 · 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 · 573 阅读 · 0 评论