Ich bin Hinzufügen von selbst. Notes Array zu einem UIPickerView. Dies ist, wie ich das Array habe die Einrichtung:Speicherlecks in UIPickerView mit sqlite
NSMutableArray *notesArray = [[NSMutableArray alloc] init];
[notesArray addObject:@"-"];
[notesArray addObjectsFromArray:[dbManager getTableValues:@"Notes"]];
self.notes = notesArray;
[notesArray release];
Die Informationen für die UIPickerView aus der Datenbank in diesem Verfahren genommen wird:
-(NSMutableArray *)getTableValues:(NSString *)table
{
NSMutableArray *valuesArray = [[NSMutableArray alloc] init];
if (sqlite3_open([self.databasePath UTF8String], &database) != SQLITE_OK)
{
sqlite3_close(database);
NSAssert(0, @"Failed to open database");
}
else
{
NSString *query = [[NSString alloc] initWithFormat:@"SELECT value FROM %@", table];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW) {
NSString *value =[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];
[valuesArray addObject:value];
[value release];
}
sqlite3_reset(statement);
}
[query release];
sqlite3_finalize(statement);
sqlite3_close(database);
}
return valuesArray;
}
Aber ich erhalte Speicherlecks in Instrumenten für diese Linien:
NSMutableArray * WerteArray = [[NSMutableArray alloc] init];
und
[Arraywerte addObject: value];
Was mache ich hier falsch?
Danke für Ihre Hilfe!
Wert sollte hier nicht freigegeben werden, da es nicht alloced ist. Es ist undicht, da der Container WerteArray undicht ist. – taskinoor
Danke! Alle meine Lecks sind weg – Danamo