我有一个关于 iOS 中 ARC 的快速问题。(对不起,我问了很多这类问题,但我对内存管理感到很困惑。)。需要注意的是,我从未使用过旧的内存维护系统(retain
、release
、assign
...等),所以我真的不知道这些术语是什么意思。
现在我很困惑我必须做些什么才能确保正确释放强大的属性。例如,假设我正在制作一个学校应用程序,并且我的对象包含对 5 个不同对象(不在数组中)的School
强属性引用。Child
每个Child
对象都有一个指向对象的强指针(属性)Book
。
如果我Child
从学校中移除其中一个对象(例如通过使其属性 = nil,或将我的属性更改为指向一个新对象),它Book
会被正确释放吗?我该怎么做才能确保是这种情况?我需要写self.myBook = nil
一个dealloc
方法吗?如果Child
是视图控制器,我需要self.myBook = nil
在 viewDidUnload 方法中编写吗?
我只针对 iOS 5(及更高版本),所以旧的内存管理方式对我来说并不重要。