conspiration viewDidLoad & viewWillAppear
-
30-09-2019 - |
Question
J'ai favoris fichier plist lorsque je tente de le charger comme ceci
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSString *path = [[NSBundle mainBundle] pathForResource:@"favorites" ofType:@"plist"];
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];
self.allFavorites = array;
[array release];
}
rien ne apparaît dans le tableView j'ai mis en œuvre
au contraire quand je copier-coller, le même code dans
-viewDidLoad:
tout méthode fonctionne très bien ....?
Je dois mettre le code dans viewWillAppear car l'utilisateur peut ajouter des choses aux favoris pour garder la liste des favoris à jour. Et oui viewWillAppear ne s'invoqué, dans le débogage, je me suis rendu compte tableau allFavorites est vide dans la méthode viewWillAppear ...?
Que peut-être le problème ....?
J'ai définis comme suit allFavorites
NSMutableArray *allFavorites;
puis
@property (nonatomic, retain) NSMutableArray *allFavorites;
puis
@synthesize allFavorites;
La solution
Lorsque vous mettez à jour la mémoire de sauvegarde, reloadData
d'appel sur l'affichage du tableau. Il met en cache les données, donc il n'a pas la moindre idée qu'il a changé.