我有一个包含NSArray对象的类。 这样关于释放对象的问题
#import <Foundation/Foundation.h>
@interface myClass : NSObject {
NSArray *myArray;
}
@property (nonatomic, retain) NSArray *myArray;
@end
在.m文件,我在初始化init方法myArray的,并在dealloc方法释放myArray的。
在一个方法中,我创建它的对象并将其添加到一个NSMutableArray。
myClass *my = [[myClass alloc] init];
NSLog(@"init finish %d",[my retainCount]);
NSMutableArray *a = [[NSMutableArray alloc] init];
[a addObject:my];
NSLog(@"array added finish %d",[my retainCount]);
NSLog(@"array added finish %d",[my.myArray retainCount]);
[my release];
当我添加对象“我的”NSMutableArray,“我”的retainCount被添加。 但myArray没有。这是否意味着我必须保留我的阵阵? 或其他我可以做的事情。 我释放“我的”对象后,此代码是否可以正常工作?
[a objectAtIndex:0];
谢谢!
这段代码实际上工作吗?我没有看到nd my.myArray之间的任何连接。如果你没有在myClass中初始化它,myArray就是零。 myArray的所有者是myClass的一个实例。 – 2011-03-25 13:55:11