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

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

【问题讨论】:

  • 使用protocol/delegate从你想重新加载表的类中重新加载表。

标签: ios objective-c iphone uitableview


【解决方案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 方法中重新加载表格,以便每次菜单出现在屏幕上时......它都会刷新

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-10
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 2015-03-07
      相关资源
      最近更新 更多