gpt4 book ai didi

iOS : refreshing already loaded tableView

转载 作者:行者123 更新时间:2023-11-29 03:29:49 25 4
gpt4 key购买 nike

有没有一种“更短”的写法?似乎要获取玩家 ViewController 实例还有很长的路要走...

    UIWindow *window = [UIApplication sharedApplication].keyWindow;
UITabBarController *tabBarController = (UITabBarController *)window.rootViewController;
UINavigationController *navigationController = [[tabBarController viewControllers] objectAtIndex:0];
PlayersViewController *playersViewController = [[navigationController viewControllers] objectAtIndex:0];
[playersViewController.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

我正在刷新已加载的 tableView

#pragma mark - RatePlayerViewControllerDelegate
- (void)ratePlayerViewController: (RatePlayerViewController *)controller didPickRatingForPlayer:(Player *)player
{
if (player.rating != self.requiredRating)
{
// do stuff.. in self.tableView
// refresh players tableView

最佳答案

你可以使用通知

PlayersViewController.m

在你的初始化方法中添加这一行:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadPlayers:) name:@"reloadPlayersNotification" object:nil];

并实现方法

- (void)reloadPlayers:(NSNotification *)notification {
[self.tableView reloadData];
}

当您的 tableView 不能接收 reloadData 调用时(例如,如果 tableView 不可见),请记住移除您的观察者

[[NSNotificationCenter defaultCenter] removeObserver:self name@"reloadPlayersNotification" object:nil]

现在如果你想从另一个类重新加载这个 tableView :

[[NSNotificationCenter defaultCenter] postNotification:@"reloadPlayersNotification"];

关于iOS : refreshing already loaded tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com