Что произойдет, если я отправлю сообщение на слабый объект? Передаёт ли сообщение сообщение объекту и удерживает его в памяти до возврата?
Я думаю об этом шаблоне:
__weak MyObject *weakSelf = self;
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf doSomeAction];
});
Предполагая, что weakSelf
не равно нулю, когда сообщение отправлено, может ли оно быть отменено, пока работает doSomeAction
или он будет оставаться действительным до тех пор, пока doSomeAction
не вернется?