Подтвердить что ты не робот

Хранение блока в коллекции

Можно ли сразу сохранить блок в коллекции, такой как NSArray?

4b9b3361

Ответ 1

Да, блоки являются допустимыми Objective-C объектами, следуя всем соглашениям NSObject. Просто сделайте копию/авторекламу:

[array addObject:[[block copy] autorelease]];

Для ARC - оставьте вызовы копирования и автоответчика:

[array addObject:block];

Ответ 2

Невозможно понять, как ответить в ответном сообщении на ответ Eimantas, но необходима копия, потому что блок может быть создан в стеке. См. 2) в bbum post в теме.