【问题标题】:How do i check my viewcontroller is displaying now or not?我如何检查我的视图控制器现在是否显示?
【发布时间】:2013-05-17 05:07:34
【问题描述】:
我想将我的viewcontroller 状态写入plist(类似于我的viewcontroller 当前显示的内容,或者我从那里移到另一个视图),这样当我检查我的plist 时,我可以看到在给定时间我正在使用viewcontroller(例如:下午2点我使用viewcontroller1和下午2.05我使用viewcontroller2)。我如何做到这一点?
【问题讨论】:
标签:
ios
objective-c
view
uiviewcontroller
【解决方案1】:
每次访问 plist 都不好,因为它会消耗时间并且会影响应用程序的性能。所以将日志保存在字典中(使用单例模式在视图控制器之间共享字典)
在每个视图控制器的viewWillAppear中使用如下
[viewControllerStatus setObject:NSStringFromClass([self class]) forKey:[NSDate date]];
最后将这个字典写入plist中applicationDidEnterBackground:或applicationWillTerminate:
【解决方案2】:
在ViewController1。
-(void)viewDidAppear:(BOOL)animated {
// code to save start time in plist for viewcontroller 1
}
当它从一个视图切换时,你可以从中获取它
-(void)viewDidDisappear:(BOOL)animated{
// code to save end time in plist for viewcontroller 1
}
在ViewController2。
-(void)viewDidAppear:(BOOL)animated {
// code to save start time in plist for viewcontroller 2
}
当它从一个视图切换时,你可以从中获取它
-(void)viewDidDisappear:(BOOL)animated{
// code to save end time in plist for viewcontroller 2
}
【解决方案3】:
使用viewWillAppear方法登录PLIST文件。