Mon problème semble assez simple mais je n'ai pas réussi à trouver une solution ici ou ailleurs. J'ai une UITableView
en tant que sous-classe dans l'un de mes UIViews. Lorsque l'application termine la dernière cellule de table sélectionnée est enregistrée à NSUserDefaults
et lorsque l'application redémarre, je veux définir la cellule sélectionnée comme avant. Cependant, cela pose des problèmes lorsque je le fais trop tôt car le nombre de sections est inconnu, c'est-à-dire que la table n'a pas encore chargé ses données. J'ai donc décidé de le mettre dans la fonction numberOfRowsInSection
, qui fonctionne mais je suis sûr que ce n'est pas le bon endroit pour le faire.Quand UITableView a-t-il terminé la mise à jour?
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section
{
int iNofRows = 0; //Default
// It is not great doing this here but....
if(bSetDefaultSelection == YES)
{
bSetDefaultSelection = NO; // Stop recursion
**NSIndexPath* indexPath = [NSIndexPath indexPathForRow:(NSUInteger)l last_sel_row inSection:(NSUInteger)0];
[self selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];**
}
return iNofRows;
}