L'UIToolBar a deux vues, un UIView avec UITextViews et un UIView w/UITableView.UIToolBar avec UITableView - TableView n'est pas actualisé lorsqu'il est chargé
UITableView qui est appelée via un UIToolBar. La première fois que UITableView se charge, il frappe la base de données et obtient l'information. Je reviens à l'UIView avec UITextViews sélectionnez des données, puis "tab" à l'UITableView, mais aucune des méthodes déléguées ne sont appelées, comme viewDidLoad ou initWithNibName ou quoi que ce soit, donc les données de la table sont périmées.
Donc, j'ai découvert la méthode
-(void)viewWillAppear:(BOOL)animated {
est appelé, cependant, il n'a pas accès à l'tableView, comme par exemple,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
Je ne trébuche sur cette recommandation:
"I can't seem to figure out how to make the UITableView refresh ... I did find this, which seems like the same problem I'm having,
What I did is to create a MyTableViewController* property in MyModalViewController class. Before presentModalView, I store the table view controller pointer to this property in modal view controller.
Now I have a reference to table view controller when I'm in the modal view controller. Now just use this stored table view controller to locate its tableView, then reloadData.
Feels dirty but gets work done."
Si c'est la réponse, je ne suis pas sûr de savoir comment le coder.
Merci d'avance!
- sk
Note: Je viens d'essayer ceci:
.h
UITableView *tableViewPtr;
@property (nonatomic, retain) UITableView *tableViewPtr;
.m
@synthesize tableViewPtr;
et le stocker dans -
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {:
...
self.tableViewPtr = tableView;
...
ensuite essayer de l'appeler de
-(void)viewWillAppear:(BOOL)animated {
[self.tableViewPtr reloadData];
Mais cela ne semble pas fonctionner.
J'ai également essayé ceci: .h UITableView * tableViewPtr; @property (nonatomic, retain) UITableView * tableViewPtr; .m @synthesize tableViewPtr; Et stockez-le dans - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {: ... self.tableViewPtr = tableView; ... Ensuite, essayez de l'appeler à partir de - (void) viewWillAppear: (BOOL) animé {: [self.tableViewPtr reloadData]; Mais cela ne semble pas fonctionner. –
Bon seigneur, ce dernier commentaire est détruit. Pardon. –