从导航控制器重新加载tableview

时间:2011-03-10 23:16:55

标签: iphone objective-c xcode uitableview uinavigationcontroller

我是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。

3 个答案:

答案 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];