【发布时间】:2012-11-15 13:59:34
【问题描述】:
我有一个 SelezionaProfilo 课程,在这个课程中我有一个玩家列表:
@interface SelezionaProfilo : UIViewController < UITableViewDelegate, UITableViewDataSource > {
UITableView *myTableView;
//my staff
}
@property (nonatomic, retain) IBOutlet UITableView *myTableView;
一切正常。
我已经构建了一个嵌入在导航控制器中的子类 SelectPlayerViewController,因为我希望对推送一行有不同的反应:
@interface SelectPlayerViewController : SelezionaProfilo {
一切正常,我有球员名单。而我有不同的行动。
在 SelectPlayerViewController.m 中,我在导航栏上添加了一个按钮,在推送导航中添加了转到另一个类的播放器按钮。 现在播放器已创建,但是当视图返回到 SelectPlayerViewController 时,我看不到最后一个播放器。
在 SelezionaProfilo.m 中:
- (void)viewWillAppear:(BOOL)animated {
[self.myTableView reloadData];
[super viewWillAppear:animated];
}
在 SelectPlayerViewController.m 中
- (void)viewDidAppear:(BOOL)animated {
[super.myTableView reloadData];
}
我确定输入这个方法,但是表格没有刷新。 我有一个选项卡,我在另一个选项卡中有 SelezionaProfilo,如果我选择这个,我可以看到最后一个玩家,所以 SelezionaProfilo 类可以正常工作。
谁能推荐我? 谢谢
【问题讨论】:
-
尝试从 SelectPlayerViewController 中移除
viewDidAppear:方法,并在 SelezionaProfilo 的viewWillAppear:方法中切换语句的顺序。 (它可能无法解决问题,但它会更有意义。)除此之外,我建议记录从tableView:numberOfRowsInSection:返回的值并查看它是否符合您的预期。 -
感谢您的回答,我现在无法尝试,我的 Mac 在家。我可以尝试在 viewWillAppear 晚上切换顺序。所以我确定数组会刷新,但它不会进入表格视图方法,所以行数减少了。
标签: iphone uitableview subclass reloaddata