首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
颜值强
更多收藏集
微信扫码分享
微信
新浪微博
QQ
38篇文章 · 0订阅
从预编译的角度理解 Swift 与 Objective-C 及混编机制
如果你对预编译的理论知识已经了解,可以直接从【原来它是这样的】的章节开始进行阅读,这会让你对预编译有一个更直观的了解。 如果你想了解如何通过 hmap 技术提升编译速度,可以从【基于 hmap 优化 Search Path 的策略】的章节开始阅读,这会给你提供一种新的编译加速思…
在线教室 iOS 端声音问题综合解决方案
在线教室场景下,声音是最重要的内容传输渠道之一,保障声音的稳定可靠,是在线教室质量非常重要的一环。同时在线教室里许多功能模块都与声音有关联,如何处理好各个模块间的声音冲突成为一个重要话题。 在 iOS 端,说到声音的话题就绕不开 AVAudioSession。AVAudioSe…
[译] 揭秘 iOS 布局
在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题。通常这种问题发生的原因就是对于 view 何时真正更新的错误理解。想理解 view 在何时是如何更新的,需要对 iOS RunLoop 和相关的 UIView 方法有深刻的理解。这篇文章会介绍这些关联,希…
【iOS内功】如何排查无法复现的系统内部Crash?
苹果每年都会升级iOS系统,可能会对系统库进行逻辑改动。我们自己工程里有些代码你可能几年没动过,但系统一升级就会出现奇怪的Crash。今天介绍一个案例,iOS13.3升级后,导致工程里某个方法签名会引发NSInvocation内部的数组越界。因为一直无法完美复现,最后经过多次假…
iOS面试了20几家总结出来的面试题(二)
27. SDWebImage是怎么做缓存的? 首先说,缓存采用了二级 缓存策略。 图片缓存的时候, 在内存有缓存, 在磁盘中也有缓存, 其中内存缓存是用NSCache做的 (下面会有NSCache的说明)。 4、将图片存在进磁盘中。 4、获取图片数据之后, 将图片数据从NSDa…
iOS 底层 - OC 对象的创建流程
这样探索下来 , 我们不仅会熟练掌握这些知识点 , 更能对其融会贯通 , 得到苹果为什么会这么设计的根本原因 . 本篇文章从对象的创建出发 , 梳理对象创建流程 , 探索每一个遇到的知识点 . 对象的创建方式 , 最常见的 alloc init , 或者 new . 添加好断点…
Swift Runtime - 类和对象
Swift类编译阶段会生成与Objective-C一样的类元数据,这也是为什么Swift和Objective-C可以互相调用。 class如果没有显式继承某个类,都被隐式继承SwiftObject。 所有属性都会添加到class_ro_t中的ivars结构中,包括private…
iOS底层面试总结
总结不易,耗时耗力,您的一颗小星星✨是我无限的动力。 我们经常会看一些面试题,但是好多面试题我们都是知其然不知其所以然,你如果认真的看了我上面总结的几十篇文章,那么你也会知其所以然。 默认情况下,因为分类底层结构的限制,不能添加成员变量到分类中。但可以通过关联对象来间接实现 2…
iOS概念攻坚之路(一):RunLoop
Y神写的是真的好。这篇文章的大部分内容来自 Y神的深入理解 RunLoop,再结合官方文档 和其他一些网上的资料再加上自己的一些理解做了一些补充和归纳,官方文档也非常值得一看。 RunLoop 直接翻译过来就是 运行循环。运行是什么?运行指你的程序运行,循环?额,就是循环。所以…
Runloop整理笔记
栈中创建的临时对象xiaoMing和weak属性修饰的对象 _zhangSanWeak ,在viewDidLoad结束后就被释放了。 栈中创建的临时对象xiaoMing和weak属性修饰的对象 _zhangSanWeak,在viewDidLoad结束之前就被释放了。 系统在每个…