iOS runtime 和 runloop
@福者
曾研究银行技术部,奇虎360,字节跳动......等工作。研究技术已经是生活中不可缺少快乐,
展开
-
iOS-浅谈runtime运行时机制01-类与对象的内部结构
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 最近一直在研究runtime运行时机制的问题,我想可能也有很多人不太清楚这个问题吧?在这里跟大家沟通分享下我对与runtime机制的理解。 要理解runtime,首先我们要了解类和对象的内部结构,下面将首先介绍下OC中类与对象的结构层次。 一、首先,从 runtime.h头文件中找到对转载 2017-06-30 22:58:01 · 386 阅读 · 0 评论 -
iOS runtime ~ 动态添加属性
联系人:石虎 QQ:1224614774 昵称: 嗡嘛呢叭咪哄 QQ群:807236138 群称: iOS 技术交流学习群 一、概念 1.runtime:动态添加属性:什么时候需要动态添加属性; 2.开发场景:给系统的类添加属性的时候,可以使用runtime动态添加属性方法; 3.本质:动态添加属性,就是...原创 2017-12-30 09:28:54 · 3881 阅读 · 0 评论 -
iOS runtime ~ 动态添加方法
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.动态添加方法 开发使用场景:如果一个类方法非常多,加载类到内存的时候也比较耗费资源,需要给每个方法生成映射表,可以使用动态给某个类,添加方法解决。2.效果图:二、代码实现1.控制器代码:#pragma mark -动态添加方法#pragma mark ----------...原创 2018-01-01 12:13:13 · 453 阅读 · 0 评论 -
iOS 运行时和编译时区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念编译时 编译时:就是正在编译的时候.其实编译时就是简单的作一些翻译工作, 编译: 就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,C#中只有CLR能原创 2017-12-26 10:08:55 · 2515 阅读 · 0 评论 -
iOS OC动态运行时(runtime)~动态特性表现
一、概念: 因为运行时 runtime 是 必须到运行时(run time)才会做一些事情; 所以OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载; 动态:主要是将数据类型的确定由编译时,推迟到了运行时。之所以叫做动态,二、iOS OC动态运行时~动态类型 1.动态类型,就是id类型。 2.原创 2017-12-17 15:50:25 · 388 阅读 · 0 评论 -
iOS 面试题~RunLoop和线程的关系?runloop的mode作用是什么?
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、RunLoop和线程的关系:1.RunLoop 的作用就是来管理线程的,当线程的 RunLoop开启后,线程就会在执行完任务后,处于休眠状态,随时等待接受新的任务,而不是退出。2.只有主线程的RunLoop是默认开启的,所以程序在开启后,会一直运行,不会退出。其他线程原创 2017-11-01 19:03:24 · 7201 阅读 · 0 评论 -
iOS runtime ~ class_copyPropertyList与class_copyIvarList区别
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、class_copyPropertyList与class_copyIvarList区别class_copyPropertyList: 通过类名获得类的属性变量。class_copyIvarList: 通过类名获得类的实例变量。也就是说:class_cop原创 2017-09-21 23:01:16 · 627 阅读 · 0 评论 -
iOS runtime ~ 重要类型
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、Objective-C运行时定义了几种重要的类型。* Class: 定义Objective-C类* Ivar: 定义对象的实例变量,包括类型和名字。* Protocol: 定义正式协议。*原创 2017-09-21 20:03:12 · 285 阅读 · 0 评论 -
iOS runtime ~ objc_setAssociatedObject 函数关键策略
/联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、objc_set方法概念 #import objc_setAssociatedObject(self, &imageURLkey, url,OBJC_ASSOCIATION_RETAIN_NONATOMIC);这四个后面的参数分别表示:源对象,关键字,关原创 2017-09-21 08:41:36 · 344 阅读 · 0 评论 -
iOS runtime ~ objc_setAssociatedObject方法详解
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、objc/runtime.h相关 Objecitve-C的重要特性是Runtime(运行时),在Interacting with the Runtime(交互运行)中,运行时函数部分,苹果给出了/usr/lib/libobjc.A.dylib库,这个共享库提供支持动态属性的objective原创 2017-09-20 00:00:55 · 509 阅读 · 0 评论 -
iOS runTime运行时机制
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄运行时机制不同级别的语言-在计算机上只有0和1=>本身在计算机上执行的程序都是机器码,一堆二进制的指令!-汇编语言-C语言(被成为最接近汇编的一门语言)-面向过程的-一旦程序复杂之后,维护起来非常可怕!-面向对象语言 C++/Java/C#/OC-脚本语言原创 2017-07-23 23:20:52 · 2535 阅读 · 0 评论 -
iOS 开发RunTime之函数调用
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄http://www.2cto.com/kf/201411/348580.html1.Objective-C中的函数调用对于C语言,函数调用是由编译器直接转化完成的,在编译时程序就开始查找要执行的函数(c语言函数调用原理)。而在OC中,我们将函数调用称为消息发送。在编译时程序不查找转载 2017-06-30 23:05:43 · 444 阅读 · 0 评论 -
iOS 用Runtime实现友盟页面数据统计功能
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪一、概念1.实现页面的统计,需要在每一个类中实现这个方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick be原创 2018-01-10 10:04:40 · 1078 阅读 · 0 评论