предположим, я делаю это:
MyClass *vista = [[MyClass alloc] initWithFrame:CGRectZero];
vista.onFinish = ^{
CGRect rect = vista.bounds;
// bla bla bla
};
тогда xcode наградит меня этой ошибкой: сильный захват перспективы в этом блоке, вероятно, приведет к циклу сохранения
Кто-то предложил объявить висту вот так
__unsafe_unretained MyClass *vista = [[MyClass alloc] initWithFrame:CGRectZero];
но проблема вот в чем. переменная Vista назначается свойству несколькими строками ниже.
self.myVista = vista;
и это неатомарное сильное свойство.
Как мне это решить? Я могу объявить временный идентификатор var, чтобы использовать его, но это кажется хромым решением.
Любая мысль?
__weak MyClass *weak_vista = vista;
работает? - person   schedule 10.04.2013