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

时间:2015-08-29 12:02:01

标签: ios objective-c iphone uitableview

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

2 个答案:

答案 0 :(得分:2)

为此您可以使用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];

}

答案 1 :(得分:-1)

尝试在Tableviewcontroller.m中的viewWillAppear:(BOOL)动画方法中重新加载表格,这样每当菜单出现在屏幕上时......它就会刷新