内存释放问题,求解.

iOS 码拜 9年前 (2015-05-06) 690次浏览 0个评论
 

– (NSMutableArray*)findContactInfoWithuseid:(NSString*)userid
{
NSMutableArray *list = [[[NSMutableArray alloc]init]autorelease];
//ResultSet *rs = [[DBHelper sharedInstance].database executeQuery:@”SELECT * FROM PliceContact where userId = ?”,userid];
ResultSet *rs = [[DBHelper sharedInstance].database executeQuery:@”SELECT * FROM PliceContact where userId”];
while([rs next]) {
ContactInfo *info = [[ContactInfo alloc] init];
info._userId = [rs stringForColumnIndex: 0];
info._department = [rs stringForColumnIndex: 1];
info._userName = [rs stringForColumnIndex: 2];
info._recordId = [rs stringForColumnIndex: 3];
[list addObject:info];
[info release];
}
return list;
}

– (void)getPoliceListData{
NSLog(@”get the list”);
NSMutableArray *resultArray = [[NSMutableArray alloc] init];
resultArray = [[TableMaintenance sharedInstance] findContactInfoWithuseid:@”1″];
NSLog(@”resultArray = %@”,resultArray);

[resultArray release];//这边释放就会崩溃了,何解?
}

报错内容发上来看看
 谢谢了,我已经知道原因了,是因为指向一个autorelease 初始化时候的确是returnCount加1
 但是resultArray指向一个autorelease ,它被从新指向另一块内存,而且此块内存的是自动释放的
不会因为以前的内存计数多少而加一的,谢谢关注.
40分
要使用的内容已经被释放掉了。
NSMutableArray *resultArray = [[NSMutableArray alloc] init];
resultArray = [[TableMaintenance sharedInstance] findContactInfoWithuseid:@”1″];狠有问题
LS 请问啥 问题? 我用没有发现什么问题呀,是个单例

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明内存释放问题,求解.
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!