首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
jayhe
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
22
文章 22
沸点 0
赞
22
返回
|
搜索文章
最新
热门
iOS安全与逆向-判断APP被重签名的一种方案
3. 总结
KVC设置value为nil抛异常的处理
1. KVC赋值为什么能触发KVO 2. KVC赋值nil异常的情况 3. 如何解决 例如NSRange得到的{_NSRange=\"location\"Q\"length\"Q},可以看到获取到的跟@encode获取到的差异就是后面的结构体的字段有字段名的信息。 至此,已经解…
KVO的原理初探及应用
1. 实现原理 原类在实例化一个对象出来它的isa指向的还是原来的类对象。 最后大致得知他的作用:KVO内部去获取原始类的时候,用来判断的,如果_isKVOA的实现是_NSKVOIsAutonotifying那么就去获取它的原始类返回,否则就直接返回传入的类。 在看了KVO的实…
OC内存管理-编译器对autorelease的优化
那么系统是怎么做到什么时候去优化,什么时候不去优化了;一时间摸不着头脑,后面看了些文章再结合源码,有了个大概的理解。 1. 分析源码 这里看到核心是判断callerAcceptsOptimizedReturn为true的时候才返回true,开启优化;那么这里是怎么知道需要优化的…
OC内存管理-Tagged Pointer初探
1. 简介 Tagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。 在内存读取上有着 3 倍的效率,创建时比以前快 106 倍。 2. 源码 通过位运算获取标识位的值来确定是否是tagged poin…
OC-内存管理autorelease原理
我截取了main函数的汇编代码,可以看到有个_objc_autoreleasePoolPush和_objc_autoreleasePoolPop的。这个就是分别对应着pool的压栈、出栈;也印证了上面说的出了作用域就释放了。你也可以对照汇编的中的行号信息和代码可以发现_objc…
OC-关联对象的发散应用--weak关联对象的实现
1. 关联对象和类别添加属性的关系 给类别添加属性get、set方法是有了,那么得有空间去存储数据,同时我们还要能够处理数据的内存避免发生内存泄漏,而此时association就恰好能满足我们的诉求。 我觉得是没有必然关系的,我们只要解决了类别中属性对应的数据的读写和内存管理就…
个人成就
文章被点赞
25
文章被阅读
13,979
掘力值
301
关注了
4
关注者
5
收藏集
1
关注标签
1
加入于
2020-03-30