по расположению в памяти определяется в следующем фрагменте кода:
int main(int argc, char * argv[]) {
@autoreleasepool {
NSString *(^someAction)(void) = ^{
return @"someAction";
};
NSLog(@"%@ ", someAction());
}
return 0;
}
1. Temporary block
2. Heap block
3. Permanent block
4. Global block
это глобал блок. Есть три типа – стэк, хип и глобал. если блок не захватывает какие либо переменные – это глобал блок. Если захватывает, то на момент создания это будет стэк блок, при присваивании блока к переменной в arc он сразу перемещается на хип.
Обсуждают сегодня