Juste une question rapide de gestion de la mémoire si je peux ... Est-ce que le code ci-dessous est ok, ou devrais-je faire une retenue et autorelease, j'ai le sentiment que je devrais. Mais selon les règles unarchiveObjectWithFile
ne contient pas new
, copy
ou alloc
.unarchiveObjectWithFile conserve/autorelease nécessaire?
-(NSMutableArray *)loadGame {
if([[NSFileManager defaultManager] fileExistsAtPath:[self pathForFile:@"gameData.plist"]]) {
NSMutableArray *loadedGame = [NSKeyedUnarchiver unarchiveObjectWithFile:[self pathForFile:@"gameData.plist"]];
return loadedGame;
} else return nil;
}
ou
-(NSMutableArray *)loadGame {
if([[NSFileManager defaultManager] fileExistsAtPath:[self pathForFile:@"gameData.plist"]]) {
NSMutableArray *loadedGame = [[NSKeyedUnarchiver unarchiveObjectWithFile:[self pathForFile:@"gameData.plist"]] retain];
return [loadedGame autorelease];
} else return nil;
}
Un grand merci Nick, je vous remercie également pour les pointeurs sur la mise en forme correcte. Très appréciée. – fuzzygoat