我已经搜索了很多,但我没有找到解决方案,也不知道为什么会这样。
我正在创建和安排本地通知并在表格 View 中显示通知列表。当我的应用程序启动时,本地通知正在创建并显示在表中。但是按下主页按钮后,应用程序将进入后台,通知将在各自的时间设置上触发。发射后它们也从系统阵列中移除
[[UIApplication sharedApplication] scheduledLocalNotifications]
当我再次打开应用程序时,它会激活并进入前台状态。并且在应用程序中委托(delegate)方法正在调用
- (void)applicationDidBecomeActive:(UIApplication *)application
{
AnotherClass *class = [[AnotherClass alloc]init];
[class afterBecomeActive];
}
这是 AnotherClass 的实现。我必须在其中刷新表格..
-(void) afterBecomeActive
{
[tableView reloadData];
}
该 TableView 未重新加载数据或刷新数据,包含本地通知列表。所有通知都按原样显示,委托(delegate)方法没有调用。 请帮忙。
最佳答案
在包含 tableView 的类中执行此操作。要求获得有关 ApplicationDidBecomeActive 的通知。
- (void)awakeFromNib {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification object:nil];
}
收到通知后,重新加载表格。
- (void)applicationDidBecomeActive:(NSNotification *)notification {
[self.tableView reloadData];
}
应用程序委托(delegate)中的代码可以删除。其他人是正确的:它只是分配一个新的 View Controller ,向它发送一条消息并将其丢弃。
关于iphone - UITableView 在 Forground 状态下 Enter 后不重新加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146862/