本质 @autoreleasepool,即自动释放池,是自动内存管理的核心。官方文档给出的解释如下: Autore...[作者空间]
Objective-C内存管理的核心思想就是通过对象的引用计数来对内存对象的生命周期进行控制。说直白一点,就是调用...[作者空间]
NSTimer是iOS常见定时器。它经过特定时间间隔就会触发,将指定的消息发送到目标对象。定时器是线程通知自己做某...[作者空间]
前言 上一篇我们讲完了block的基础知识,这一篇我们就来看看block的底层原理。话不多说,我们创建一个test...[作者空间]
NSCondition 条件锁,顾名思义,就是满足某些条件才会开锁。NSCondition,可以确保线程仅在满足特...[作者空间]
@synchronized,同步锁,又名对象锁,由于其使用简单,基本上是在iOS开发中使用最频繁的锁。 使用方式如...[作者空间]
NSLock是iOS开发中最基础的锁。它继承自NSObject,遵守NSLocking协议。用于处理线程安全问题。...[作者空间]
NSRecursiveLock,递归锁,顾名思义,执行递归操作的时候使用的锁。是互斥锁中的递归锁,可被同一线程多次...[作者空间]
前言 作为一个iOS开发人员,我们在日常的开发中经常会使用到nonatomic这个关键字,大家都知道nonatom...[作者空间]
前言 有这么一个经典的案例,某一趟车次现在还有20张余票,火车站有4个售票窗口,人们开始排队买票。我们来模拟一下这...[作者空间]
基本概念 什么是block?《Objective-C高级编程》这本书里是这样定义的: 带有自动变量(局部变量)的匿...[作者空间]
日常的开发中,我们经常会用到计时器。在iOS中,有三种计时器,NSTimer、CADisplayLink、disp...[作者空间]
单次函数dispatch_once 单次函数一般用来创建单例或者是执行只需要执行一次的程序。 dispatch_o...[作者空间]
简介 什么是GCD? GCD的全称是Grand Central Dispatch,它是Apple 开发的一个多核编...[作者空间]
基本概念 线程 线程是进程的基本执行单元,一个进程的所有任务都在线程中执行 进程要想执行任务,必须得有线程,进程至...[作者空间]
KVO原理及使用 我们之前讨论过KVO的原理,知道KVO机制是生成了一个中间类NSKVONotifying,该中间...[作者空间]
初探 Key-value observing is a mechanism that allows objects...[作者空间]
简介 先来看看官方的定义: Key-value coding is a mechanism enabled by ...[作者空间]