Я ищу хорошие объяснения там. У меня есть книга 1000 страниц об объективе-c, но, к сожалению, часть управления памятью, сохранение подсчета, описывается довольно плохо и трудно понять.Где лучшие объяснения управления памятью для iPhone?
ответ
Это один из самых лаконичных хороших объяснений, которые я нашел:
Memory Management in Objective-C Learn Obj-C Memory Management
У них есть некоторые простые ответы, но и ссылки на документацию Apple.
Быстрые объяснения: Все, что вам Alloc, новый, сохранить или скопировать вы также должны релиза. Кроме того, все, что вы НЕ РАСПРОСТРАНЯЕТЕ или не копируете, должно сохраняться, если вы планируете удерживать его за пределами текущего цикла сообщений (или вы рискуете, что он будет автореализован и станет недопустимой ссылкой).
CocoaDev всегда имеет довольно хорошие ресурсы, и их введение в управление памятью не является исключением.
Конечно, есть много свободных ресурсов для изучения управления памятью, но если вы действительно новичок в этой теме и предпочтете визуальный подход, Стив Скотт (парень, который управляет сетью разработчиков Mac) имеет отличную , суп-орехи набор учебных видеороликов, которые вы можете скачать по USD 10: http://www.mac-developer-network.com/videotraining/beginner/vid001/. Это в основном лекция, которая выходит за рамки «использования релиза и авторекламы» и рассказывает о том, как ОС управляет памятью. Очень полезно, если вы пропустили этот материал в Comp. Sci. 101.
FWIW, я использовал набор из трех условий «Если», которые были полезны, когда я начинал (например, «Если я выделяю или копирую и создаю объект, тогда ...»). Мне было легче запомнить эти три условия сначала, чем полный набор правил. Я написал короткий учебник, который использует эти «мозговые триггеры», чтобы объяснить правила, если это полезно кому-либо еще. http://www.clintharris.net/2009/three-brain-triggers-for-objc-memory-mgmt/
Специально для управления памятью вокруг использования СИБА и IBOutlet, это самое короткое и ясное описание, которое я видел:
http://blog.airsource.co.uk/index.php/2008/12/23/memory-management-and-nibs/
Для меня Apple's Memory Management Programming Guide работало достаточно хорошо.
Вначале он объясняет основы, поэтому вы можете начать работать. Но это также касается более продвинутых тем, если вы заинтересованы.
Интересная статья: http://interfacelab.com/objective-c-memory-management-for-lazy-people/
- 1. управления памятью для iPhone CTRunDelegateRef
- 2. iPhone - вопрос управления памятью?
- 3. Вопрос управления памятью iPhone
- 4. (iphone) основной вопрос управления памятью
- 5. (iphone) Проблема управления памятью UIImage
- 6. Ошибка управления памятью, используя cocos2d для iPhone
- 7. Неоднозначный сценарий для управления памятью iPhone
- 8. iPhone вопрос, касающийся управления памятью
- 9. Где используются алгоритмы управления памятью?
- 10. Объектив C/iPhone: нужны «лучшие практики» для отладки ошибок управления памятью
- 11. EXC_BAD_ACCESS в iPhone приложение - проблема управления памятью
- 12. Objective-C проблема управления памятью в iPhone
- 13. В ожидании управления памятью в iPhone
- 14. Вопрос управления памятью iPhone: сохранение повторяющихся UITableViewCells?
- 15. Парадигмы управления памятью С ++
- 16. CoreData проблема управления памятью
- 17. Расширение GCC для управления памятью
- 18. управления памятью Java для JNI
- 19. Iphone: Где выделяется память для dataSource?
- 20. Управление памятью iPhone
- 21. сглаживание управления объектной памятью
- 22. Удаление управления памятью оператора
- 23. Некоторое понимание управления памятью
- 24. Управление памятью iPhone
- 25. Управление памятью iPhone didReceiveMemoryWarning
- 26. Управление памятью iPhone
- 27. Лучшие элементы управления Silverlight для создания консоли
- 28. Пример управления памятью
- 29. Лучшие элементы управления Silverlight
- 30. iphone: управление памятью с dispatch_async
... и rememeber что-нибудь начиная с инициализации ... следует этим правилам. initWithImage initWithoutClosingTheFridgeDoor и т. д. Вы также должны следовать этим правилам при реализации классов. init ... сообщения должны возвращать объект со счетом сохранения одного и так далее. –
Это не совсем правильно. Из документации Apple http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/Articles/mmRules.html # // apple_ref/doc/uid/20000994-BAJHFBGH: ** Вы приобретаете собственность на объект, если его создаете с использованием метода, имя которого начинается с «alloc» или «new» или содержит «copy» (например, alloc , newObject или mutableCopy), или если вы отправите ему сообщение сохранения. ** – Florin
Эрик, я думаю, вы имеете в виду * alloc *, * retain * или * copy *. :) – h4xxr