会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
任伟
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
18
下一页
2022年1月17日
iOS底层原理探索-Runtime的基本使用
摘要: 运行时。OC是运行时机制,也就是在运行的时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数。 而对于OC语言中的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。 在编译阶段,C语言
阅读全文
posted @ 2022-01-17 10:29 任淏
阅读(161)
评论(0)
推荐(0)
2022年1月11日
iOS底层原理探索-Block本质(三)
摘要: 首先,我们看两段代码: 从运行结果可以看出,如果是普通局部变量age,第17行和第22行的age地址是一样的,第20行的地址跟前面两个是不同的。 这个原因我们在上节已经分析过。是因为: 第17和第22行的age是age的地址 第20行的age是捕获进去的age,其是一个在block内部新建的同名ag
阅读全文
posted @ 2022-01-11 14:30 任淏
阅读(195)
评论(0)
推荐(0)
2022年1月7日
iOS底层原理探索-Block本质(二)
摘要: 面试题: 问:在24行打断点,person对象是否被释放? 按说,person的作用域是其附近的两个{},过了两个{}后,person对象应该被释放,而实际上,在24行断点处,person对象并没有消失。 问:为什么呢? 首先我们将程序运行,可以看到其运行过程: 24行打印block学习[2478:
阅读全文
posted @ 2022-01-07 15:51 任淏
阅读(120)
评论(0)
推荐(0)
2022年1月6日
iOS底层原理探索-Block本质(一)
摘要: 首先,在学习之前,增加一些动力。经常在面试中,会被问及到这些问题: block的本质是什么? __block的作用是什么?原理是什么?有哪些使用注意点? 我们知道block在使用的时候,一般用copy修饰,用copy修饰发生了什么?具体过程是怎样的? 带着这些疑问,我们开始今天的学习。 block的
阅读全文
posted @ 2022-01-06 17:59 任淏
阅读(243)
评论(0)
推荐(0)
iOS底层原理探索-Block基本使用
摘要: block是什么? block其实是一段代码块,其作用是保存一段代码块,在真正调用block的时候,才执行block里面的代码。 在程序里面输入inlineBlock,就可以得到block的声明与定义形式: /** 等号前面是block的声明; 等号后面是block的定义; returnType:b
阅读全文
posted @ 2022-01-06 17:58 任淏
阅读(208)
评论(0)
推荐(0)
2022年1月5日
iOS底层原理探索-分类Category的本质
摘要: 前言 首先,这里有几个与Category相关的面试题,大家可以看一下 1、Category如何使用? 2、Category的原理是什么? 3、Category与类扩展的区别? 4、Category中load方法是什么时候调用的?load方法能被继承吗? 5、load和initialize的区别是什么
阅读全文
posted @ 2022-01-05 14:09 任淏
阅读(204)
评论(0)
推荐(0)
2021年12月30日
kvc本质
摘要: kvc本质 KVC KVC: 全称Key-Value Coding,也称为键值编码。 KVC可以通过一个key间接访问某个对象属性。 KVC有两个特性: 可以访问私有成员变量; 可以修改私有或者系统的成员属性; KVC有以下四种方法: - (void)setValue:(nullable id)va
阅读全文
posted @ 2021-12-30 15:41 任淏
阅读(409)
评论(0)
推荐(0)
KVO的本质
摘要: KVO的本质 KVO全称Key-Value Observing,键值监听。 KVO是OC对观察者设计模式的一种实现,注册一个观察者时,调用addObserver: forKeyPath:options: context:,观察者观察A的属性,系统在运行时,动态创建一个NSKVONotifying_A
阅读全文
posted @ 2021-12-30 15:40 任淏
阅读(168)
评论(0)
推荐(0)
2021年12月28日
class的本质
摘要: 在OC中,类对象(class对象)和元类对象(meta-class对象)的本质结构都是struct objc_class指针,即在内存中就是结构体。 Class clas = [NSObject class]; 来到class底层源码,我们可以看到: typedef struct objc_clas
阅读全文
posted @ 2021-12-28 16:31 任淏
阅读(138)
评论(0)
推荐(0)
2021年12月27日
OC对象的本质
摘要: iOS底层原理探索—OC对象的本质 面试题 一个NSObject对象占用多少内存? 答:统会为一个NSObject对象分配最少16个字节的内存空间。一个指针变量所占用的大小(64bit占8个字节,32bit占4个字节) 系统分类了16个字节给NSObject对象(通过malloc_size函数获得)
阅读全文
posted @ 2021-12-27 15:30 任淏
阅读(116)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
···
18
下一页
公告