首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
DaSen
掘友等级
iOS 菜鸟开发工程师
计算机菜鸟
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
iOS 小技巧大杂烩
下次重新运行项目,然后就不报错了。 59, 设置TableView不显示没内容的Cell。
iOS 底层系列 - Mach-O 介绍
可以理解为加载命令,在加载Mach-O文件时会使用这里的数据来确定内存的分布以及相关的加载命令。比如我们的main函数的加载地址,程序所需的dyld的文件路径,以及相关依赖库的文件路径。 这里包含了具体的代码、数据等等。 __LINKEDIT 包含了方法和变量的元数据(位置,偏…
iOS 底层系列 - ALSR地址空间布局随机化
Address Space Layout Randomization,地址空间布局随机化。 是一种 通过增加攻击者预测目的地址难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。 MachO 可执行文件每次起始地址不一样。 函数地址永远是固定的,容易被破解者…
iOS 底层系列 - 启动的过程
移除不需要的 动态库. 移除不需要 Objec 类, 减少selector数量 。 合并功能类似的类和扩展(Category)少用分类。 减少 C++ constructor 构造函数数量。 减少 ObjeC +load ,尽量用 dispatch Once 或 Initial…
iOS 底层系列 - 内存映射 mmap 是什么
在内存映射的过程中,并没有实际的数据拷贝,文件没有被载入内存,只是逻辑上被放入了内存,具体到代码,就是建立并初始化了相关的数据结构(struct address_space),这个过程有系统调用mmap()实现,所以建立内存映射的效率很高。 既然建立内存映射没有进行实际的数据拷…
iOS 底层系列 - isEqual与hash
如果你写的子类还需要添加到集合类型(NSDictionary,NSSet等)中去,hash方法也需要重写。 比较两个对象的指针,若是字符串 对比的是首地址。 比较两个字符串的内容. == 运算符只是简单地判断是否是同一个对象。 isEqual方法可以判断对象是否相同, 例如UI…
iOS 底层系列 - Uiview 与 Calyer 相关视图知识
1. UIView 和 CALayer的区别 view初始化的时候默认会创建一个layer;设置view的frame和bounds等内部其实是修改layer对应属性。 两者最明显的区别是View可以接受并且处理事件,而Layer不可以。 所有从UIView派生出来的UIKit类…
SDWebImage 中的图片解码
一般我们使用的图像是JPEG/PNG,这些图像数据不是位图,而是是经过编码压缩后的数据,需要线将它解码转成位图数据,然后才能把位图渲染到屏幕上。 当你用 UIImage 或 CGImageSource 的那几个方法创建图片时,图片数据并不会立刻解码。图片设置到 UIImageV…
iOS 底层系列 - Atmoic 是否安全
答:不是。 字符串不会完整的拼接 10 次,会出现拼接重复。 noatomic在如下情况 不能保证 get set 安全,对象释放。
iOS 底层系列 - runtime 的应用
1. 动态添加Ivar 动态添加Ivar我们能够通过遍历Ivar得到我们所添加的属性。 不能在已存在的class中添加Ivar,所以说必须通过objc_allocateClassPair动态创建一个class,才能调用class_addIvar创建Ivar,最后通过objc_r…
下一页
个人成就
文章被点赞
22
文章被阅读
26,504
掘力值
515
关注了
0
关注者
23
收藏集
0
关注标签
17
加入于
2020-10-10