我已经编码了(这个函数会一次又一次地被调用),但是返回的对象给出了“BAD ACCESS”,NSLog打印出正确的字符串,但有时返回(我称之为 一次又一次)给崩溃..任何改变这段代码的帮助,如果我删除“autorelease”方法,它会很好的
- (NSMutableArray *)getAll:(NSString *)type
{
NSLog(@"Type: %@", type);
NSMutableArray *toReturn = [[[NSMutableArray alloc] initWithCapacity:0] autorelease];
rs = [db executeQuery:Query1];
while ([rs next]) {
[toReturn addObject:[rs stringForColumn:@"Name"]];
NSLog(@"name: %@", [rs stringForColumn:@"Name"]);
}
[rs close];
return toReturn;
}
答案 0 :(得分:1)
您需要确保在此期间不释放您的字符串。尝试更改
[toReturn addObject:[rs stringForColumn:@"Name"]];
到
[toReturn addObject:[[rs stringForColumn:@"Name"] copy]];