У меня есть быстрый вопрос о ARC в iOS. (Извините, что я задал так много таких вопросов, но я просто смущен в отношении управления памятью.). Важно отметить, что я никогда не использовал старую систему обслуживания памяти (retain
, release
, assign
... и т. Д.), Поэтому я не знаю, что означают эти термины.Когда сильные свойства будут выпущены в ARC в iOS?
Прямо сейчас я смущен относительно того, что мне нужно сделать, чтобы убедиться, что сильные свойства будут выпущены должным образом. Например, предположим, что я создаю школьное приложение, а мой объект School
содержит сильные ссылки на свойства 5 различных объектов Child
(не в массиве). Каждый объект Child
имеет сильный указатель (свойство) на объект Book
.
Если я удалю один из объектов Child
из своей школы (скажем, сделав его свойство = nil или изменив мое свойство, чтобы указать на новый объект), будет ли его правильно выпущен Book
? Что мне нужно сделать, чтобы убедиться, что это так? Нужно ли писать self.myBook = nil
в методе dealloc
? Что, если Child
был контроллером вида, мне нужно было бы написать self.myBook = nil
в методе viewDidUnload?
Я ориентируюсь только на iOS 5 (и выше), поэтому старый способ управления памятью для меня не имеет большого значения.
Предлагаю вам прочитать следующее: http://clang.llvm.org/docs/AutomaticReferenceCounting.html –
Спасибо за предложение. Я посмотрю на это. – Nosrettap