首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
马小撂
掘友等级
三观比五官正,思想比套路深。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
(二)alloc、init、new之间的关系
OC面向对象编程的,我们常常使用 alloc、init、new来把类实例化成对象,那么他们他们是如何工作的,以及他们之间有什么联系呢?
(一) objc4-818.2源码 编译
我们在开发中会经常用到objc底层源码,那它是如何实现的呢,苹果将objc开源了,那要探究底层的第一步,就是将objc源码编译成功
(一) Mac 环境下 Flutter | Android Studio 的安装
学习Flutter第一步,安装开发工具 Mac 环境下安装Flutter 和 Android Studio
Autoreleasepool
AutoreleasePool:自动释放池是oc提供的一种自动回收的机制,具有延迟释放的特性,即当我们创建了一个对象,并把他加入到了自动释放池中时,他不会立即被释放,会等到一次runloop结束或者作用域超出{}或者超出[pool release]之后再被释放。 由上面的输出可…
RunLoop
RunLoop:运行循环,在程序运行过程中循环做一些事情,如果没有Runloop程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。RunLoop可以在需要的时候自己跑起来运行,在没有操作的时候就停下来休息。充分节省CPU资源,提高程…
KVO(NSKeyValueObserving)
KVO:NSKeyValueObserving,键值观察。它是一种观察者模式的衍生。其基本思想是,对目标对象的某属性添加观察,当该属性发生变化时,通过触发观察者对象实现的KVO接口方法,来自动的通知观察者。 每当key发生变化时,都会触发这个毁掉。 1.我们在为一个对象添加观察…
KVC(KeyValueCoding)
KVC:(NSKeyValueCoding)键值编码,一个非正式Protocol启用的一种机制,对象采用这种机制来提供对其属性的间接访问,这种间接访问机制补充了实例变量及其关联的访问器方法提供的直接访问。 访问私有成员变量:我们知道当属性定义在.h文件里的时候,我们是能够通过属…
(五)RunTime中weak的实现原理
简单概述:weak弱引用,被修饰的对象在被引用时,计数不会+1,并且在引用对象被释放后,指向对象的指针会被自动置nil。 使用场景:我们一般在修饰delegate或者防止block的循环引用时会用到。 可以发现weak的底层调用的objc_initWeak。 我们去下载苹果为我…
(四)RunTime应用场景
1.给系统的方法添加额外的功能给系统的方法添加分类自己实现一个带有扩展功能的方法交换方法,只需要交换一次2.动态添加属性给一个类添加属性,其实本质就是给这个类添加关联,并不是直接把这个值得内存空间添加
(三)RunTime消息转发机制
当这个对象在实现了resolveInstanceMethod,resolveClassMethod两个方法,并没有对该对象消息进行处理,那么该方法会被调用两次:一次是没有找到该方法需要对象解析处理;第二次是告诉系统我处理完成需要再次调用该方法但实际上并没有处理完成,所以会调用第…
下一页
个人成就
文章被点赞
26
文章被阅读
42,246
掘力值
917
关注了
4
关注者
23
收藏集
0
关注标签
1
加入于
2019-08-23