我有一个关于iOS中ARC的问题(很抱歉我问了这么多这种类型的问题,但是关于内存管理我真的非常困惑)。需要注意的是,我从未使用过旧的内存维护系统(如retain、release、assign等),因此我不太清楚这些术语的含义。
现在我对如何确保强引用属性得到正确释放感到困惑。例如,假设我正在制作一个学校应用程序,我的School对象包含对5个不同Child对象的强引用属性引用(不在数组中)。每个Child对象都有一个指向Book对象的强指针(属性)。
如果我从学校中删除其中一个Child对象(通过将其属性设置为nil或通过更改我的属性以指向新对象),那么它的Book是否会被正确释放?我需要做什么来确保这一点?我需要在dealloc方法中写self.myBook = nil吗?如果Child是一个视图控制器,我需要在viewDidUnload方法中写self.myBook = nil吗?
我只针对iOS 5及更高版本进行开发,因此旧的内存管理方式对我并不重要。
现在我对如何确保强引用属性得到正确释放感到困惑。例如,假设我正在制作一个学校应用程序,我的School对象包含对5个不同Child对象的强引用属性引用(不在数组中)。每个Child对象都有一个指向Book对象的强指针(属性)。
如果我从学校中删除其中一个Child对象(通过将其属性设置为nil或通过更改我的属性以指向新对象),那么它的Book是否会被正确释放?我需要做什么来确保这一点?我需要在dealloc方法中写self.myBook = nil吗?如果Child是一个视图控制器,我需要在viewDidUnload方法中写self.myBook = nil吗?
我只针对iOS 5及更高版本进行开发,因此旧的内存管理方式对我并不重要。