mark 一下
RunTime
https://www.jianshu.com/p/6ebda3cd8052
clang
https://www.jianshu.com/p/513a9bd35a7d
runloop
http://www.cocoachina.com/articles/23380
https://www.jianshu.com/p/46435c6a63af
https://www.jianshu.com/p/de752066d0ad
runloop 卡顿监控
https://www.jianshu.com/p/582b7ad7fe4d
https://blog.youkuaiyun.com/weixin_34130269/article/details/92681971
Autorelease实现原理
https://www.jianshu.com/p/b0c19505a5a4
runloop 和 autorelease
https://www.jianshu.com/p/f6e8fdd475e1
设计模式
https://www.jianshu.com/p/9c4a219e9cf9
https://www.jianshu.com/p/014df9e21c35
https://www.jianshu.com/p/9aa7f1e14728
eg.
适配器模式:高德接口转百度sdk 接口,换芯不换暴露接口
策略模式:转场动画,会将每个动画算法写到一个单独类中
原型模式:提供一个快速复制对象的快捷方法。
- (nonnull id)copyWithZone:(nullable NSZone *)zone
外观模式:将一系列逻辑对象封装在一起,只暴露一些需要接口。
桥接模式:https://blog.youkuaiyun.com/qq_31156277/article/details/80659537 多维度,电脑(台式、笔记本、pad)(品牌)
组合模式:把一组相似的对象当作一个单一的对象。树枝和叶子实现统一接口,树枝内部组合该接口。(文件夹问题)
命令模式:请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
观察者模式
工厂模式
装饰模式:不用子类、分类,拓展一个类。
代理模式
备忘录模式:保存一个对象的某个状态,以便在适当的时候恢复对象。
生成器模式:使用多个简单的对象一步一步构建成一个复杂的对象。
信号量
https://blog.youkuaiyun.com/mqyeweiyang/article/details/82991393
dispatch_semaphore_signal的返回值为long类型,当返回值为0时表示当前并没有线程等待其处理的信号量,其处理的信号量的值加1即可。当返回值不为0时,表示其当前有(一个或多个)线程等待其处理的信号量,并且该函数唤醒了一个等待的线程(当线程有优先级时,唤醒优先级最高的线程;否则随机唤醒)。dispatch_semaphore_wait的返回值也为long型。当其返回0时表示在timeout之前,该函数所处的线程被成功唤醒。当其返回不为0时,表示timeout发生。
响应链
https://www.cnblogs.com/darkwing/p/11223043.html
断点下载
https://www.jianshu.com/p/acace0d40af2
TableView优化
https://www.jianshu.com/p/478b9424ec9b
NSOperation 网络封装
https://www.jianshu.com/p/3309b0c0cab3
Category 原理
https://www.jianshu.com/p/fa66c8be42a2
属性、成员变量区别
https://www.jianshu.com/p/55f781f8c915
深拷贝、浅拷贝
https://www.jianshu.com/p/33f175d97b86
消息转发
https://www.jianshu.com/p/ba0e9942a082
https://blog.youkuaiyun.com/cooldragon/article/details/52497064