crash happens when NSMutableArray is returned?
I have coded like that(that function will be called again and again), but the returned object gives "BAD ACCESS", the NSLog prints correct string, but toReturn sometimes(i called again and again) gives crashes..any help to alter this code,If i remove the "autorelease" method,it worsks fine
- (NSMutableArray *)getAll:(NSString *)type
{
NSLog(@"Type: %@", type);
NSMutableArray *toReturn = [[[NSMutableArray alloc] initWithCapacity:0] autorelease];
rs = [db executeQuery:Query1];
while 开发者_如何学C([rs next]) {
[toReturn addObject:[rs stringForColumn:@"Name"]];
NSLog(@"name: %@", [rs stringForColumn:@"Name"]);
}
[rs close];
return toReturn;
}
You need to make sure that your string is not deallocated in the meantime. Try changing
[toReturn addObject:[rs stringForColumn:@"Name"]];
to
[toReturn addObject:[[rs stringForColumn:@"Name"] copy]];
精彩评论