首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
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结束之前就被释放了。 系统在每个…