[Résolu]Erreur étrange à l'utilisation d'un iVar créée dans awakeFromNib
Greensource
Membre
Je suis face à un problème qui me dépasse!
Contexte: J'ai une tableView et son controller qui s'avère être aussi le delegate et le dataSource.
Dans ce controller je déclare une iVar de type NSDictionnary pour remplir la tableView.
Dans awakeFromNib du controller j'initialise le dico, j'ai vérifié c'est ok (dans debugger, j'ai bien marqué 2 key/value).
Ensuite le datasource doit faire son taf, donc appel de
Moi j'y ai juste mis [leDico count]
Et là BAM, plantage! Alors j'ai débuggué, et c'est là le truc bizarre, le dico à bien la même adresse qu'à la fin de la méthode awakeFromNib, mais c'estp lus marqué le 2 key/value, comme ça l'était. Ce qui m'indique habituellement que le dico n'est pas créer.
Comment c'est possible? Il a pas pu disparaà®tre entre awakeFromNib et numberOfSectionsInTableView:?
Si ça peut aider, j'ai remarqué que la variable isa du dico à changer par contre.
Contexte: J'ai une tableView et son controller qui s'avère être aussi le delegate et le dataSource.
Dans ce controller je déclare une iVar de type NSDictionnary pour remplir la tableView.
Dans awakeFromNib du controller j'initialise le dico, j'ai vérifié c'est ok (dans debugger, j'ai bien marqué 2 key/value).
Ensuite le datasource doit faire son taf, donc appel de
<br />- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
Moi j'y ai juste mis [leDico count]
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {<br /> return [preference count];<br />}
Et là BAM, plantage! Alors j'ai débuggué, et c'est là le truc bizarre, le dico à bien la même adresse qu'à la fin de la méthode awakeFromNib, mais c'estp lus marqué le 2 key/value, comme ça l'était. Ce qui m'indique habituellement que le dico n'est pas créer.
Comment c'est possible? Il a pas pu disparaà®tre entre awakeFromNib et numberOfSectionsInTableView:?
Si ça peut aider, j'ai remarqué que la variable isa du dico à changer par contre.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
De manière général, tout nouvel objet renvoyé par une méthode de classe ne commençant pas par new ou alloc (donc typiquement dataFromPropertyList:format:errorDescription:) renvois un objet dans le bassin d'autorelease. Donc quand tu va le tester juste après il va marcher, plus tard non.
Grâce à toi j'ai vérifié à un autre endroit où j'avais fait l'erreur, mais ça ne plantais pas...encore ^^
Merci bien.