Я прочитал эту тему: Что делает "__ блок" ключевое слово 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? Любые вопиющие проблемы с этим способом выглядят?