首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Misaka10032
掘友等级
iOS开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
文章
热门
最新
OC底层探索 - block
block的类型 block有三种类型: 栈block(NSStackBlock)、堆block(NSMallocBlock)、全局block(NSGlobalBlock)。 对于这三种类型的bloc
OC总结 - 锁
什么是线程安全? 多线程操作共享数据的时候不会出现意想不到的结果就叫线程安全,否则就是线程不安全。 原子属性是线程安全的吗? 原子属性只能保障set 或者 get的读写安全,但我们在使用属性的时候,往
OC底层探索 - @synchronized
把 @synchronized 代码转换成 C++ 代码 所以 @synchronized 可用看作 进入 objc源码查看上面2个方法: objc_sync_enter(_sync_obj) obj
OC底层探索 - 多线程 & GCD
线程与进程 线程 进程要想执行任务,就必须有线程,一个进程至少要有一条线程 程序启动会默认开启一条线程,这条线程被称为主线程或UI线程 进程 每个进程之间是独立的,每个进程均运行在其专用的且受保护的内
OC底层探索 - 动态方法决议 & 消息转发
动态方法决议 一旦实现动态方法决议方法,必须给 sel 添加 imp ,否则会崩溃。 实例方法的动态方法决议 示例 类方法的动态方法决议 示例 消息转发 在动态方法决议之后,如果还是没有找到方法的实现
OC底层探索 - 方法的底层原理
objc_msgSend 初见 在 main.m代码中定义一个类,和几个方法,然后调用一下。 在终端中,main.m 所在目录下,执行 clang -rewrite-objc main.m ,把代码转
Method-swizzling 方法交换
有时候因为各种需求,我们可能需要给某些系统类或者SDK的类的方法中,添加某些自己的代码。这时候我们就需要用到 Method-swizzling。 方法交换 简单来说就是通过runtime中的metho
OC底层探索 - 类对象的数据结构
类对象的数据结构: objc_class结构体中 ISA 占8字节,superclass 占8字节,cache 占16字节。 其中 ISA 与 superclass 分别是 isa指针和父类指针,这个
OC底层探索 - 类 & 元类
获取类 打印得到的类都是同一地址,可见类在内存中只有一份。 我们到源码中看一下上面几个获取类的方法 可见,类方法是直接返回自己,这说明类也是一个对象。实例方法实际是调用runtime方法,runtim
OC底层探索 - 对象本质 & 属性的内存存储顺序
对象的本质 新建一个 macOS App项目,在 main.m 中定义一个类 打开终端,进入到 main.m 所在文件夹下,执行 clang 指令 会生成一个 main.cpp 文件。在 main.c
下一页
个人成就
文章被点赞
35
文章被阅读
18,106
掘力值
754
关注了
21
关注者
18
收藏集
1
关注标签
16
加入于
2016-09-08