Je ne sais pas pourquoi Instruments montre le code suivant comme une fuite de 128 octets sur la ligne UILabel initWithFrame:Instruments montrant une fausse fuite?
self.navigationItem.leftBarButtonItem = self.editButtonItem;
UILabel *tmp = [[UILabel alloc] initWithFrame:CGRectMake(25, 100, 275, 100)];
self.emptyMsg = tmp;
[tmp release];
Notez que dans ce cours publie la propriété emptyMsg dans les domaines suivants:
-(void) dealloc {
[self.emptyMsg release];
[self.pathToUsersFriendsFile release];
[super dealloc];
}
À un moment donné, je n'utilisais pas la méthode accessor pour définir emptyMsg, donc je m'attendais à ce que la modification de cette fuite disparaisse. Hélas, il apparaît toujours. Est-ce que quelqu'un peut me diriger vers une autre cause?
Déclaration de la variable:
@interface FriendListViewController : UITableViewController <AddFriendDelegate> {
NSString *pathToUsersFriendsFile;
UILabel *emptyMsg;
}
@property(retain) UILabel *emptyMsg;
@end
Ce n'est probablement pas votre problème, mais vous ne devriez jamais utiliser la syntaxe point sur self dans une méthode dealloc. –
S'il vous plaît signaler la déclaration de la propriété pour emptyMsg – zakovyrya
@rich que diriez-vous d'attribuer nil aux propriétés dans dealloc? – adib