按UITABBARITEM时在UitableView中重新加载数据
-
13-09-2019 - |
题
我有一个uitabbarcontroller作为我的应用程序委托的一部分,当用户触摸特定选项卡(收藏夹)并强迫其中的表以重新加载数据时,我想陷入困境。
在这种情况下,最好的做法是什么?
我已将Uitabardelegate协议添加到我的应用程序委托中,并实现了DidSelectViewController方法。到目前为止,一切都很好。在方法中,我会得到一个ViewController,因此我可以检查其标题等。确定选择哪个选项卡。
然后,如何将ReloDdata消息发送到ViewController中的UitableView?我尝试在FavouritesViewController类中创建一种方法,并将其调用,但它不起作用。
示例代码:
#pragma mark UITabBarController delegate methods
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
// If the favourites tab is pressed then reload the data
if (viewController.title = @"Favourites")
{
if ([viewController respondsToSelector:@selector(reloadFavourites:)])
{
[viewController reloadFavourites];
}
}
}
解决方案
听起来您需要添加一个 [UITableView reloadData]
到tableViewController的 viewWillDisplay
方法。这将导致每次显示表。
如果您想强制重新加载,将显示TableView,则可以从OP中创建的方法来调用重新加载。
其他提示
以下代码应该刷新您的桌子 每一次 视图出现。
-(void)viewWillAppear:(BOOL)animated
{
[[self tableView] reloadData];
}
不隶属于 StackOverflow