在Objective-c中,是一个Block对象类型?

Cin*_*ndy 2 objective-c objective-c-blocks

在Objective-C中,是一个Block对象吗?可以保留/释放吗?可以分类吗?

Gab*_*lla 5

是的,它是一种对象类型.

然而,它主要由编译器处理,因此您不能将其子类化,并且您几乎无法控制内存管理.您通常只能将copy它放到堆中,以防它超出它声明的范围.

具体而言,在运行时的块是二者之一的一个实例__NSMallockBlock__,__NSStackBlock____NSGlobalBlock__.你可以在这里阅读更多关于这个主题的信息:http://www.cocoawithlove.com/2009/10/how-blocks-are-implemented-and.html