J'ai une méthode qui fonctionne ceci:gestion de la mémoire Objective-c
Track* track = [[Track alloc] init:[obj objectForKey:@"PersistentID"] :[obj objectForKey:@"Name"] :[obj objectForKey:@"Artist"] :(NSInteger*)[obj objectForKey:@"Total Time"] :(NSInteger*)[obj objectForKey:@"Play Count"]];
[auto setCurrentTrack: (Track *) piste]; [libération de la voie];
Dois-je libérer une trace?
Nommer une méthode dans Objective-C '-init :::::' est considéré comme une mauvaise pratique. Vous voudrez peut-être lire les conventions de dénomination d'Apple dans le centre de développement. En outre, vous ne pouvez pas stocker un NSInteger dans un NSDictionary: seulement un NSNumber, qui est une classe wrapper. Casting est juste un moyen sûr de planter votre programme. –