如何从其他类重新加载整个 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 控制器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章