- 获取的通知(TXT消息)
- 或打开/关闭通知中心
- 或者切换到其他应用的无财产,回来
基本上,应用程序从短暂的背景回来。
问题
布局是好的,但是从背景恢复后我的一些特性,我从CoreData得到的是空的。几乎所有的视图控制器都存在这个问题。
项目
这是有主的TabBar控制器应用,而在标签中的两个navigationcontrollers,也许两个层面viewcontrollers的,有自己的孩子UIViews(即使用一些信息的)。后端由Parse和CoreData组成。
怪异的一部分
返回从背景 - >属性上viewWillAppear中确定(创建ID的备份) - >它们是零秒后 - >我需要手动让他们回来(从ID我只是存储)
下面是截图,把一个叫每5秒函数内的破发点时,检查当前时间(link to bigger):
我做什么
NSCoder用于状态还原,每个视图控制器都有一个还原ID,但是当应用程序变为活动状态时它不会被调用。我不认为NSCoder是这里的问题,因为从操作系统自行杀死它或从用户处强制退出时使用它的文档。
我试图从NSNotificationCenter中手动刷新相应ViewControllers中的内容,如果NSManagedObjects为零,但它不具备未来性,并且在每个视图上从来都不是相同的逻辑。
有什么想法?谢谢!
我的AppDelegate:
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"Will Resign Active");
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"Entered Background");
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"Will enter Foreground");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[NSNotificationCenter defaultCenter] postNotificationName:@"needsRefresh" object:self userInfo:nil]; // Helpful in some viewcontrollers to save variables that are not nil.
[PF_FBSession.activeSession handleDidBecomeActive];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"Will Terminate");
}
您是否曾尝试在'_booking'的setter上放置一个断点,并查看哪些是无效的?很难知道发生了什么,因为你没有显示任何实现代码,或者你有任何通过'applicationWillEnterForeground'发送的通知可能会影响到这一点。 – iwasrobbed
@iWasRobbed修改!我的代表非常空,我将再次编辑更多相关代码 –
我在Swift项目中遇到同样的问题。任何人解决这个问题? – nh32rg