Ответ 1
Как сказал epatel, вам не нужно выпускать эту конкретную строку. Если вы хотите быть более активным, вы можете сделать это вместо этого:
-(NSMutableArray *) getPaises {
NSMutableArray * paises;
paises = [[[NSMutableArray alloc] init] autorelease];
while( get new row ) {
NSString *aPais = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
[paises addObject:aPais];
[aPais release];
}
return paises;
}
Вкратце:
-
[[NSString alloc] initWith...] → Вы должны освободить или автообновить.
-
[NSString stringWith...] → Не нужно выпускать.
- Edit: добавлено autorelease
для paises, когда вы его возвращаете. Когда вы возвращаете объект, всегда проверяйте его, если у вас есть alloc & init'd.