Runtime
文章平均质量分 92
PinkJoker
严肃搞笑,低调冷炮
展开
-
RunLoop
runloop相关知识原创 2022-04-13 14:50:28 · 425 阅读 · 0 评论 -
Runtime的入门与应用之八-字典转模型
字典转模型的第一步:设计模型 模型属性,通常需要跟字典中的key一一对应问题:一个一个的生成模型属性,很慢?需求:能不能自动根据一个字典,生成对应的属性。解决:提供一个分类,专门根据字典生成对应的属性字符串。 @implementation NSObject (Log) // 自动打印属性字符串 + (void)resolveDict:(NSDictionary *)dict{转载 2017-09-26 23:51:00 · 430 阅读 · 0 评论 -
Runtime的入门与应用之三
温故: RunTime简称运行时,就是系统在运行的时候的一些机制,其中最主要的是消息机制。 Runtime基本是用C和汇编写的,从而有了动态系统的高效。 OC与C语言在函数调用上的对比 C语言: 函数的调用在编译的时候就决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。C语言在编译阶段调用未实现的函数就会报错 OC: 函数的调用成为消息发送。属于动转载 2017-09-26 23:41:57 · 305 阅读 · 0 评论 -
Runtime的入门与应用之五-消息发送与转发
消息发送 消息发送举例:下面这个OC代码 [person read:book]; 12 会被编译成: objc_msgSend(person, @selector(read:), book); 12 objc_msgSend的具体流程如下: 通过isa指针找到所属类查找类的cache列表, 如果没有则下一步查找类的”方法列表”如果能找到与选择子名称相符的方法, 就跳至其转载 2017-09-26 23:44:25 · 347 阅读 · 0 评论 -
Runtime的入门与应用之六-实际运用
runtime在实际的开发中到底有何牛X的作用?我们该怎么使用这么牛X的工具呢? 想使用runtime,首先在写运行时代码之前,要先加上头文件: #import objc/objc-runtime.h> // 模拟器 或者 #import objc/runtime.h> // 真机 #import objc/message.h> // 真机1234 一、动态添加一个类 (“KV转载 2017-09-26 23:47:08 · 368 阅读 · 0 评论 -
Runtime的入门与应用之九-页面跳转
在你的开发过程中,是否遇到过如下的需求: 在tableView类型的展示列表中,点击每个cell中人物头像都可以跳转到人物详情,可参见微博中的头像,同理包括转发、评论按钮、各种链接及linkcard。 跳转到任意页面 (1)产品要求,某个页面的不同banner图,点击可以跳转到任何一个页面,可能是原生的页面A、页面B,或者是web页C。 (2)在web页面,可以跳转到任何一转载 2017-09-26 23:52:18 · 415 阅读 · 0 评论 -
Runtime的入门与应用之四-相关术语
SEL 它是selector在 Objc 中的表示(Swift 中是 Selector 类)。selector 是方法选择器,其实作用就和名字一样,日常生活中,我们通过人名辨别谁是谁,注意 Objc 在相同的类中不会有命名相同的两个方法。selector 对方法名进行包装,以便找到对应的方法实现。它的数据结构是: typedef struct objc_selector *SEL; 12转载 2017-09-26 23:53:48 · 360 阅读 · 0 评论 -
Runtime的入门与应用之七-归档与解档
如果你实现过自定义模型数据持久化的过程,那么你也肯定明白,如果一个模型有许多个属性,那么我们需要对每个属性都实现一遍encodeObject 和decodeObjectForKey方法,如果这样的模型又有很多个,这还真的是一个十分麻烦的事情。下面来看看简单的实现方式。 假设现在有一个Movie类,有3个属性,它的h文件这这样的 #import //1. 如果想要当前类可以实现归档与反归转载 2017-09-26 23:49:22 · 355 阅读 · 0 评论