首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 面试题
订阅
觉醒少年
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
iOS——解密RunLoop原理
前言 RunLoop作为iOS中一个基础组件和线程有着千丝万缕的关系,同时也是很多常见技术的幕后功臣。尽管在平时多数开发者很少直接使用RunLoop,但是理解RunLoop可以帮助开发者更好的利用多线
Method Swizzling 为什么要先调用 class_addMethod?
其实 Swift 中实现原理和 OC 基本一致,只是苹果爸爸不再允许在 Swift 中使用+load()和+initialize()方法,这当然难不倒各种大神,那么我就做次农夫山泉。。。 可以看到核心实现和 OC 是完全一致的,那么剩下的就是模拟 OC 版本实现中的+load(…
iOS进阶-细数iOS中的锁
互斥锁:保证在任何时候,都只有一个线程访问对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒; 调用者在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时间内获得锁,会使CPU效率降低。所以自旋锁就主要用在临界区持锁时间非常短且CPU资源不紧张的…
iOS底层 - 单例 销毁 可否?
这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战 单例,我们开发中使用很频繁的一种设计,你有没有想过, - 为什么其会在app生命周期中只执行一次? - 系统底层做了哪些事情来实现的呢?
iOS 开发中使用的各种锁的总结(1)
OSSpinLock API 很简单,首先看下使用示例。 可以确定的是 ⏰线程 和 ⚽️线程 不会有任何一个可以打印 20000。 ⏰线程 和 ⚽️线程 两者的打印都到了 10000 以上。 ⏰线程 或 ⚽️线程 其中一个打印在 10000 以上一个在 10000 以下。 情况…
阿里、字节:一套高效的iOS面试题
runtime是iOS开发最核心的知识了,如果下面的问题都解决了,那么对runtime的理解已经很深了。 准备面试是一方面,对于非面试的iOS开发者来说更适用于检验自己,发起进阶之路。另外知识点是琐碎的,但是真的能全部弄懂并把琐碎的知识点融会贯通,构建起自己的知识体系,你就升级…
关于iOS中的13种加锁方案
iOS中有很多锁,那么平时使用过程中到底怎么使用呢?本文分享13种加锁方案。本文较长总共一万字。文中代码在github上。 可以看到除了 OSSpinLock 外,dispatch_semaphore 和 pthread_mutex 性能是最高的。现在苹果在新系统中已经优化了 …
iOS面试了20几家总结出来的面试题(二)
27. SDWebImage是怎么做缓存的? 首先说,缓存采用了二级 缓存策略。 图片缓存的时候, 在内存有缓存, 在磁盘中也有缓存, 其中内存缓存是用NSCache做的 (下面会有NSCache的说明)。 4、将图片存在进磁盘中。 4、获取图片数据之后, 将图片数据从NSDa…
出一套 iOS 高级面试题
一千个读者眼中有一千个哈姆雷特,一千名 iOS 程序员心目中就有一千套 iOS 高级面试题。本文就是笔者认为可以用来面试高级 iOS 程序员的面试题。 这套题的题目跟公司和业务都没有关系,而且也并不代表笔者本人可以把这些题回答得非常好,笔者只是将一部分觉得比较好的题从收集的面试…
iOS面试了20几家总结出来的面试题(一)
文章内部有写混乱,将就着看吧。另外大部分图片加载不出来,,MARKDown格式也不太统一(各平台不一样),由于博主太懒不想改,不过不影响最终效果。 对象方法能个访问成员变量。 类方法中不能直接调用对象方法,想要调用对象方法,必须创建或者传入对象。 类方法可以和对象方法重名。 …