找不到详细说明。
它是一个对象还是一个功能?
它是在运行时按需创建还是在编译时或在加载阶段创建的?
它们的创建位置:在堆上还是堆栈上?
什么是调用程序和顺序?
它是一个对象还是一个功能?
都;块实际上是捕获的状态位,也可以像函数一样调用。编译器串起来使对象的一部分大部分是透明的(特别是使用ARC)。
它是在运行时按需创建还是在编译时或在加载阶段创建的?
运行时或编译时,具体取决于块。
可以在编译时完全创建不捕获任何状态的块。捕获只能在运行时知道的状态的块将在运行时创建。
它们的创建位置:在堆上还是堆栈上?
都;实际上,堆栈,堆或静态RO映射内存(即编译时间块)。
块(捕获状态)通常在堆栈上创建,然后在第一个Block_copy()操作中提升到堆。
什么是调用程序和顺序?
不清楚你在这里问的是什么。像C函数一样调用块,其中第一个参数始终是对块对象的引用,给出钩子来获取捕获的状态。