2015-03-05 4 views
1

Я новичок в Objective-C, и я хотел бы задать вопрос о объявлении локальной переменной (и переменной объекта не property) как _weak. Это хорошая практика, чтобы избежать утечки памяти?Слабые локальные переменные в объекте-c

+0

возможно дубликат [Сильная и слабая для локальной переменной, я не понимаю] (http://stackoverflow.com/questions/10922888/strong-and-weak-for-local-variable-i -dont-understand) – Popeye

+0

Если вы новичок в Obj-C, я бы не рекомендовал объявлять какие-либо локальные переменные как слабый, если вам не нужно использовать их внутри блока (Xcode будет жаловаться и делать это очевидным) – Alex

+0

Спасибо за ответы. Я уже прочитал этот поток, но мне было просто интересно, является ли это чем-то общим для записи локальных переменных с помощью _weak. –

ответ

1

Утечка памяти или проблемы могут возникнуть, если вы используете сильные ссылки внутри блоков, например. Лучше искать на SO перед постами. Вы также должны прочитать здесь очень хорошо объясняют: Differences between strong and weak in Objective-C

Если вы хотите получить доступ к методу самостоятельной, например, внутри блока, можно определить как:

__block id WeakSelf = self; 

затем внутри блока вы можете позвонить в :

{ // -> inside block 
    [WeakSelf dosomeFunction]; 
    } // <- block ends 
+0

утечки памяти не локализованы только для блоков, существует много других способов использования приложения в качестве базового цикла. – holex

+0

Я знаю, я просто даю пример пользователю. – user3344236

+0

Спасибо за ответы. Я уже прочитал этот поток, но мне было просто интересно, является ли это чем-то общим для записи локальных переменных с помощью _weak. –

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

  • Нет связанных вопросов^_^