我是iOS新手,我想从iOS App中的服务器下载数据库。当我在模拟器中从Xcode运行应用程序时,它第一次完美运行。
下载完成后,我按命令 + shift + H 打开主屏幕,因为没有主页/后退按钮在模拟器中。我再次打开了应用程序,但这次没有下载数据库。
我已将下载代码保存在viewWillAppear
和viewDidLoad
两者中,并同时下载数据库两次。
我的目的是在用户恢复/重启应用程序时下载文件。我在android中做了同样的事情,其中onResume
/ onPause
/ onRestart
方法可用。我想在iOS上实现同样的目标。
一个疑问......
我认为后退按钮从开始启动应用程序(至少在android中)不是主页按钮。我该如何在iOS模拟器中测试它。
答案 0 :(得分:0)
如果您确实需要下载数据每次显示视图(我真的不建议这样做),请从viewDidLoad
删除下载代码并保留一个来自viewWillAppear
。
command+shift+H
是在模拟器上按主页按钮的正确方法。
答案 1 :(得分:0)
您必须处理应用程序状态。请参阅以下来自苹果的文件 -
处理来自appDelegate或
的那些您可以通过添加下面的观察者来处理这些
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(backgroundMethod)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(foregroundMethod)
name:UIApplicationDidBecomeActiveNotification
object:nil];