##什么是RunTime机制 oc在编译的时是不知道调用哪个函数,运行时找不到就报错 C语言在编译的时候就知道调用哪个方法[p eat]消息机制 任何方法调用 本质都是发送消息[p performSelector:@selector()] #import 倒入运行时框架运行时发送消息 谁做事情就去调... ...
分类:
其他好文 时间:
2019-09-28 10:54:06
阅读次数:
92
一、概念 链表和数组都是一种线性结构,数组有序存储的,链表是无序存储的。 数组中的每一个元素地址是递增或者递减的关系,链表的每一个节点的地址没有此规律,它们是通过指针的指向连接起来。 链表种类:单链表、双向链表、循环链表、双向循环链表 单链表:一个数据域data、一个后继指针域next。也即:上一个 ...
分类:
其他好文 时间:
2019-09-27 12:28:49
阅读次数:
65
参考https://juejin.im/post/5d79af99e51d453c11684ce8 flutter_boost从0.1.53开始提供了swift demo,但example_swift居然跑不起来,oc的example可以。 1、 直接把example Flutter下的Debug. ...
分类:
移动开发 时间:
2019-09-25 10:56:05
阅读次数:
425
objc_object: 我们平时所使用的数据结构都是id类型的,对应到runtime中的类型是objc_object,其中包含isa_t、关于isa操作相关的方法、弱引用相关的方法、关联对象相关的方法、内存管理相关的方法 objc_class:我们在OC中使用的Class在runtime中对应ob ...
分类:
其他好文 时间:
2019-09-20 18:53:34
阅读次数:
86
OC屏幕旋转分为两个部分来说,第一个是开启了Device Orientation,开启了的话,自己旋转,没开启需要自己手动处理。因为现在大多数都是用自动布局,这个一般用不到,最近在看AVFoundation相关的东西,需要用到这个,所以总结下 第一部分,开启了自动旋转: (1)注册屏幕旋转通知: 如 ...
分类:
其他好文 时间:
2019-09-19 12:26:26
阅读次数:
133
Category 你用分类都做了哪些事情? 声明私有方法 分解体积庞大的类文件 把Framework的私有方法公开 特点 在运行时决议,也就是在编译时并没有把Category中声明的内容添加到宿主类中,而是在运行的时候通过runtime将添加的方法添加到宿主类上面 可以为系统添加分类 分类中可以添加 ...
分类:
编程语言 时间:
2019-09-17 19:25:18
阅读次数:
113
先明确几个概念吧! &3.2 同步与异步 串行与并行针对的是队列,而同步与异步,针对的则是线程。 最大的区别在于,同步线程要阻塞当前线程,必须要等待同步线程中的任务执行完,返回以后,才能继续执行下一任务;而异步线程则是不用等待。 &3.3 GCD API GCD API很多,这里仅介绍本文用到的。 ...
分类:
编程语言 时间:
2019-09-11 15:41:32
阅读次数:
130
RunTime 消息机制 Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。 消息机制是运行时里面最重要的机制,OC是动 ...
分类:
Web程序 时间:
2019-09-06 12:42:07
阅读次数:
141
OC对象的三种拷贝方式 OC的对象拷贝有如下三种方式,很多时候我们把深复制和完全复制混为一谈,其他他们是有区别的,具体如下: 浅复制(shallow copy):在浅复制操作时,对于被复制对象的每一层都是指针复制。 深复制(one-level-deep copy):在深复制操作时,对于被复制对象,至 ...
分类:
移动开发 时间:
2019-08-27 14:19:07
阅读次数:
129
1.从源头上理解和区别block和delegate delegate运行成本低,block的运行成本高。 block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是加计数,使用完或者block置nil后才消除。delegate只是保存了一个对象指针,直接回调,没有额外消耗。就像C的函数指针 ...
分类:
其他好文 时间:
2019-08-26 13:11:46
阅读次数:
102