Я прочитал эту тему: Что делает "__ блок" ключевое слово mean?, в котором обсуждается, что используется __block
, но я смущен одним из ответов. Он говорит, что __block
используется, чтобы избежать циклов сохранения, но комментарии под ним оставляют меня неуверенными.
Я использую его примерно так:
self.someProperty = x; //where x is some object (id)
__block __weak VP_User *this = self;
//begin a callback-style block
this.someProperty = nil;
Нужно ли использовать как __block
, так и __weak
? Любые вопиющие проблемы с этим способом выглядят?