Block对象是一个C级别的语法和运行机制。它与标准的C函数类似,不同之处在于,它除了有 可执行代码以外,它还包含了与堆、栈内存绑定的变量。因此,Block对象包含着一组状态数据, 这些数据在程序执行时用于对行为产生影响。
你可以用Block来写一些可以传到API中的函数语句,可选择性地存储,并可以使用多线程。 作为一个回调,Block特别的有用,因为block既包含了回调期间的代码,又包含了执行期间需要 的数据。
由于Objective-C 和 C++ 都是衍生自 C,block被设计为可同时兼容这三种语言。 |