有时候会用到一个自定义的类用来存储请求网络得到得数据,假如类定义如下:
Demo.h
@interface Demo : NSObject
@property(nonatomic,retain) NSString *userId,*name;
@end
Demo.m
@implementation Demo
@synthesize userId,name;
-(void)dealloc
{
NSLog(@"Demo dealloc");
[userId release];
[name release];
[super dealloc];
}
@end
在一个UIViewController的viewDidLoad方法中执行如下代码
NSMutableArray *datas=[[NSMutableArray alloc]init];
for(int i=0;i<5;i++){
Demo *demo=[[Demo alloc]init];
[demo setName:[NSString stringWithFormat:@"name--%d",i]];
[demo setUserId:[NSString stringWithFormat:@"userId--%d",i]];
[datas addObject:demo];
[demo release];
}
发现Demo.m中得dealloc方法没有执行,那么在这个类中有retain修饰的userId和name是不是没有被释放,进而会产生内存泄漏得可能?