Swift 方法(函数)调度 [TOC] 1. 前言 由于Objective-C是一门动态语言,方法的调度中主要是消息查找[https://www.jianshu.com/p...
Swift 方法(函数)调度 [TOC] 1. 前言 由于Objective-C是一门动态语言,方法的调度中主要是消息查找[https://www.jianshu.com/p...
iOS 中的锁(4) 不想篇幅太长,再开一篇继续探究iOS中的锁。 注:本文主要通过Objective-C语言进行体现,其实跟Swift也差不多。 本文介绍一种特殊的锁dis...
Aspects是什么 Aspects[https://github.com/steipete/Aspects]是一个开源的的库,面向切面编程,它能允许你在每一个类和每一个实例...
iOS 底层探索: 学习大纲 OC篇[/p/9d73ee7aae64] 前言 上一篇讲了@Synchronized 这个互斥递归锁的底层的原理,今天来拓展一下iOS中其他锁的...
源码:objc4-723,地址:https://opensource.apple.com/tarballs/objc4/[https://opensource.apple.c...
写在前面 多线程技术在移动端开发中应用广泛,GCD 让 iOS 开发者能轻易的使用多线程,然而这并不意味着代码就一定高效和可靠。深入理解其原理并经常结合业务思考,才能在有限的...
关于面试 简书:2019 iOS 面试题大全(补充完整版):https://www.jianshu.com/p/d884f3040fda[https://www.jiansh...
一、概述 KVO全称KeyValueObserving,是苹果提供的一套事件通知机制。允许对象监听另一个对象特定属性的改变,并在改变时接收到事件。对于基本数据类型是观察值的变...
一、分类(Category) 1.你都用分类在项目中做了哪些事情? 声明私有方法。 分解体积庞大的类文件。 把Framework 的私有方法公开。2.特点: 运行时决议。 可...
本文所引用的资料如下 objc4-680源码sunnyxx的黑幕背后的Autorelease[http://blog.sunnyxx.com/2014/10/15/behin...
iOS原理 文章汇总[https://www.jianshu.com/p/9fa8104e3698] 前言 一般情况下,对象在超出作用域时会立即release。比方说,在一个...
卡顿的原因: 复杂UI、图文混排的绘制量过大; 在主线程做网络同步请求; 在主线程做大量的IO操作; 运算量过大,CPU持续高占用; 死锁和主子线程抢锁; RunLoop: ...
在 iOS 开发中,内存主要分为堆区、栈区、全局区、常量区、代码区五大区域 堆(heap)区 是有程序员分配和释放,用于存放运行中被动态分配的内存段。大小不定,可增加和缩减 ...