2012-03-01 2 views
3

Если я использую блок при выполнении асинхронной операции, а объекты ссылок и объектов блока управления блоком блокируют, сохраняет ли блок их и тем самым не позволяет освободить контроллер вида, если пользователь покидает контроллер вида до операции async заканчивается?Блоки Objective-C - блокирует ли объект, на который он ссылается?

ответ

8

Да. Блоки являются объектами Objective-C и сохраняют любые объекты, на которые делается ссылка. Конечно, вы можете попросить их не об этом.

http://thirdcog.eu/pwcblocks/#objcblocks

+0

Что вы должны делать? Освободить блок после выхода из контроллера вида? Кроме того, как вы просите их не делать этого? – Boon

+0

Примеры приведены в ссылке. Если вы не хотите, чтобы внешняя переменная сохранялась внутри блока, используйте ключевое слово '__block'. – gregheo

Смежные вопросы