Je charge simplement un plist dans un dictionnaire temporaire pour initialiser mon modèle de données. Malheureusement, cette seule ligne de code ci-dessous entraîne une fuite cohérente tout au long du cycle de vie de l'application, conformément aux instruments. Les objets qui ont fui étant NSCFString
et GeneralBlock sur un Malloc et la bibliothèque responsable étant Foundations.NSDictionary fuite sur iPhone et graphe de référence d'objet
Mes deux questions pour les yeux expérimentés:
- que je fais quelque chose d'étrange à déclencher ce? J'ai essayé de l'entourer dans le bloc autorelease mais cela n'a eu aucun effet.
- Existe-t-il un moyen d'imprimer la liste des références d'objet d'un objet suspect pour obtenir un aperçu du processus d'orphelinat d'objet.
Leaking Ligne:
NSDictionary *tempDict = [NSDictionary dictionaryWithContentsOfFile:
[[NSBundle mainBundle]
pathForResource:resourceName
ofType:@"plist"]];
totalChapters = [[tempDict objectForKey:@"NumberOfChapters"] intValue];
chapterList = [[NSMutableArray alloc] initWithCapacity: totalChapters];
[chapterList addObjectsFromArray:[tempDict objectForKey:@"Chapters"]];
Peut-être que vous avez juste besoin de définir 'tempDict = nil' une fois que vous n'en avez pas besoin. –