如何从其他类重新加载整个 tableview 控制器 [关闭]

Posted

技术标签:

【中文标题】如何从其他类重新加载整个 tableview 控制器 [关闭]【英文标题】:how to reload whole tableview controller from other class [closed] 【发布时间】:2015-08-29 12:02:00 【问题描述】:

在我的项目中,有一个幻灯片菜单,该菜单是 table view controller。它现在包含 13 元素。在此菜单中,一行现在包含登录选项一旦用户登录并再次打开该菜单,我希望在该表视图控制器中使用 11 元素。我正在使用 plist 获取数据,当用户登录后,我正在从另一个 获取数据plist 包含 11 个元素。 现在我的问题是登录后我无法重新加载 表格视图控制器单元格 它显示 13 个元素,一旦我关闭应用程序并再次打开应用程序表刷新。我尝试了所有可能的解决方案重新加载该元素,但它不工作。即使我已经尝试通过传递通知中心消息从 appdelegate didfinishlaunchingwithoption 方法,但它不能工作。 如果有人有想法或解决方案,请提供帮助。

【问题讨论】:

使用protocol/delegate从你想重新加载表的类中重新加载表。 【参考方案1】:

为此,您可以使用Local-notification 从其他类或视图控制器重新加载 tableview 控制器

您需要在 uitableviewcontroller .m 文件中设置一个观察者,并从您希望它重新加载 tableview 的其他类触发它

您可以通过将此触发器添加到要重新加载表的其他类来实现此目的

 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName:@“reloadTable" object:self userInfo:nil]; 

之后在 tableviewcontroller 类中设置这个观察者并创建接收器方法

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

在 tableviewcontroller 类中创建此接收器方法

-(void) reloadTable: (NSNotification* )note
 NSLog(@"Inside : NSNotification");
[self.tableview  reloadData];


【讨论】:

【参考方案2】:

尝试在 Tableviewcontroller.m 中的 viewWillAppear:(BOOL)animated 方法中重新加载表格,以便每次菜单出现在屏幕上时......它都会刷新

【讨论】:

以上是关于如何从其他类重新加载整个 tableview 控制器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 从其他类的表中重新加载数据

如何使用视图控制器重新加载 tableview (swift)

如何快速从另一个视图控制器重新加载表格视图

从列表中选择并重新加载 Tableview Swift

从按钮重新获得互联网后如何重新加载tableView

从 UIAlertController 重新加载 tableView 数据不起作用