我搜索了这个问题,但找不到合适的答案:
我已经在java
工作了很长时间,现在我想学习Objective-C
以下是该方案:
我有一个Objective C
类扩展NSObject
类,该类包含NSString
类型和CustomObject
类型的几个字段,我在那里使用@property(nonatomic,retain) NSString or MyObjec
t创建了属性。
创建自定义类的对象后,我将其作为[myArray addObject:myObject]
现在我要问的是,如果我发布myArray,我必须释放该数组内的对象和该对象内的字段,而某些字段也是另一个类的CustomObject
;
答案 0 :(得分:2)
当您取消分配NSArray时,会向阵列中的每个对象发送一条释放消息。如果对象的唯一引用在数组中,那么您的对象将调用其dealloc方法,该方法负责释放其所有属性。
答案 1 :(得分:1)
我还在学习objc,我认为当你创建自定义对象时,保留计数会增加并将其添加到数组中也会增加保留计数。因此,当您在阵列中释放对象时,它仍然具有需要释放的保留计数。那只是我的想法。