title: iOS开发中，block与代理的对比，双方的优缺点及在什么样的环境下，优先使用哪一种更为合适？
desc: RT<br>1.block和代理的对比<br>2.双方的优缺点<br>3.什么样的环境下，优先使用哪一种？依据是什么？
topic: iOS
content: Block 和 Delegate 两种在 iOS 开发中都有广泛的应用，如果加上 NSNotification 的话就把三大 iOS 回调方式给凑齐了。我这里根据这三者来进行说明。Delegation （代理）是一种很常见的回调方式，和 Singleton （一样），在大部分编程语言里都有实现方法。Block 是一种苹果开发的基于 C 的调用方式 1，在 iOS 和 Mac 开发上都有广泛的应用。Block 从某种程度上来说是一种很新的回调方式，苹果在2009年将其引入 Mac OS X 10.6
answerer_tags: 是一只死掉的考拉，大家不用在意