首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
路过看风景
掘友等级
研发
获得徽章 6
动态
文章
专栏
沸点
收藏集
关注
作品
赞
63
文章 58
沸点 5
赞
63
返回
|
搜索文章
最新
热门
响应链
2. 事件响应过程,是从 view 开始 如果不能响应就向 nextresopnse 传递
再谈runloop
所以,当启动runloop的时候,就是监听输入源(端口port、source0、source1)、定时器、如果有事件,处理事件,没有就休眠。 kCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的。 UITrackingRu…
再谈 AutoReleasePool
结构:简单说是双向链表,每张链表头尾相接。每创建一个池子,会在首部创建一个 哨兵 对象,作为标记。最外层池子的顶端会有一个next指针。当链表容量满了,就会在链表的顶端,并指向下一张表。 当向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最…
OC中几个全局的表
runloop 是 一个 结构体 是对象。 1. 先判断这个全局字典存不存在,不存在,创建一个,并将主线程的runloop加进去 2. 如果loop不存在,就创建一个loop加入到全局字典中
NSObject 对象
3、objc_msgSend(id self, SEL, _cmd, 参数1.2. ) 4. objc 源码 5. 符号断点 - _objc_rootAlloc
其他04 代理和Block/动画/设计模式/性能/解码
(1)全局静态 block,不会访问任何外部变量,执行完就销毁。 (2)保存在栈中的 block,当函数返回时会被销毁,和第一种的区别就是调用了外部变量。[UIView animateWithDuration:3 animations:^{ (3)保存在堆中的 block,当引…
02 内存释放/KVC/O/GCD/宿主
ARC相对于MRC,不是在编译时添加retain/release/autorelease这么简单。应该是编译期和运行期两部分共同帮助开发者管理内存。 ARC 是 iOS 中管理引用计数的技术,帮助 iOS 实现垃圾自动回收,具体实现的原理是由编译器进行管理的,同时运行时库协助编…
Runtime 的四个重要的概念—动态类型,动态绑定,动态方法决议,内省
动态类型(Dynamic typing)是指对象的具体类型在运行时才能确定。 动态绑定(Dynamic binding)是指把消息映射到方法实现的这一过程是在运行时,而不是在编译时完成的。 动态方法决议(Dynamic Method Resolution)是一种能为方法动态的提…
Category相关的那些问题
重写一个类的方式用继承还是分类.取决于具体情况. 假如目标类有许多的子类,我们需要拓展这个类又不希望影响到原有的代码,继承比较好。 分类中方法的优先级比原来类中的方法高,也就是说,在分类中重写了原来类中的方法,那么分类中的方法会覆盖原来类中的方法。 1、category没有办法…
用 Runtime 自己动手实现 KVO —— 探究 KVO 的底层实现
在 Objective-C 中,用 KVO 可以很方便的观察某个属性的值的变化,一有变化可以立刻响应,虽然滥用 KVO 容易踩坑,但是在很多情形下,KVO 还是很好用的。接下来我们来看一看 KVO 是怎么实现的。 运行程序,每次点击屏幕后,会修改 b 对象的 name 的值,然…
下一页
个人成就
文章被点赞
345
文章被阅读
238,795
掘力值
5,044
关注了
50
关注者
128
收藏集
7
关注标签
20
加入于
2018-07-25