我是iPhone开发的新手。
我有一个加载tableview的导航控制器。 tableview的类标识是tableViewController类。
我想知道如何从导航控制器刷新表格视图。
我知道在tableViewController中我可以使用
[self.tableView reloadData];
抱歉,如果我含糊不清。 提前致谢。
反馈后:
这是导航控制器
@interface slNavController : UINavigationController{
UIToolbar *toolbar;
slTableViewController *tableVC;
}
@property(nonatomic, retain) slTableViewController *tableVC;
其中slTableViewController是需要刷新的tableView的Delegate。
我需要刷新我用过的表
[tableVC.tableView reloadData];
这是slTableViewController标题
@interface slTableViewController : UITableViewController <UITableViewDelegate,UITableViewDataSource> {
IBOutlet UITableView *slTableView;
NSMutableArray *list;
TryAppDelegate *appDelegate;
//UIToolbar *toolbar;
IBOutlet UITextField *textField;
}
但仍然无法刷新tableview。
答案 0 :(得分:1)
必须有一些viewController,它是tableView的委托。将reloadData发送到该控制器,例如
[viewController.tableView reloadData];
如果你知道viewController在堆栈的哪个位置,你可以通过navController访问它。例如,如果碰巧是rootViewController,那么你可以做
HomesViewController * homesController = [[[self navigationController] viewControllers] objectAtIndex:0];
答案 1 :(得分:1)
如果是基于导航的应用程序要重新加载表视图的数据,则必须在视图中写入才会出现这样的
[self.tableView reloadData];
答案 2 :(得分:0)
为navigationController提供指向tableViewController的指针。
在.h文件中:
@property(nonatomic, retain) YourTableViewController *tableViewController;
然后当你想重新加载数据时:
[tableViewController.tableView reloadData];