ho il metodoquando rilasciare un NSString in iPhone
-(NSMutableArray *) getPaises {
NSMutableArray * paises;
paises = [[NSMutableArray alloc] init];
while(get new row) {
NSString *aPais = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
[paises addObject:aPais];
}
return paises;
}
io non sto liberando l'APAIS seguente, perché se lo faccio l'applicazione si blocca. Non so quando o se dovrei rilasciarlo da qualche parte dopo averlo usato e, in tal caso, come farlo. Basta rilasciare NSMutableArray è sufficiente? O devo attraversarlo e rilasciare ogni oggetto?
E se non devo rilasciarlo, chi è il responsabile del rilascio?
Una nota relativa alla denominazione del metodo: In Cocoa, un metodo denominato "getFoo" restituisce foo in base al riferimento: - (void) getFoo: (out NSMutableArray **) outArray. Per essere coerenti con le convenzioni di denominazione del cacao, dovresti nominare il tuo metodo semplicemente "paises". –