我是 iPhone 开发新手。我正在构建一个从本地 sqlite3 数据库加载数据的应用程序
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
当我点击 iPhone 按钮并将其置于后台,然后我回想起它时,我会以与我离开它时相同的方式看到(正常)该应用程序。我想做的是,当它进入前台时,重新加载数据,就像从头开始调用一样。
哪种方法是正确的?
提前致谢。
所以在App Delegate类中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
只会在你第一次进入应用程序时调用。然后它会调用- (void)applicationDidBecomeActive:(UIApplication *)application
.
如果您的 iPhone iOS 是 4.0 或更高版本,当用户单击主页按钮时,它会首先调用- (void)applicationWillResignActive:(UIApplication *)application
, then - (void)applicationDidEnterBackground:(UIApplication *)application
.
然后应用程序将在后台运行,直到用户杀死它。当用户再次进入应用程序时,它会首先调用- (void)applicationWillEnterForeground:(UIApplication *)application
, then - (void)applicationDidBecomeActive:(UIApplication *)application
.
因此与您的问题相关,您应该致电applicationWillEnterForeground:
or applicationDidBecomeActive:
重新加载您的数据。尽管在 xcode 对这些方法的注释中,Apple 建议使用applicationDidBecomeActive:
重新启动暂停的任务和/或更新用户界面;当在applicationWillEnterForeground:
,您可以撤消进入后台时所做的更改。
因此,为了更容易查看,我为每个方法添加了数字标签。这里是当方法被调用时。
0 application:(UIApplication *)application didFinishLaunchingWithOptions:
1 applicationDidBecomeActive:
2 applicationWillResignActive:
3 applicationDidEnterBackground:
4 applicationWillEnterForeground:
首先进入应用程序:先拨0,后拨1;
按主页按钮:呼叫 2,然后呼叫 3;
-
双击主页按钮(多任务处理):呼叫2;
再次进入app:先拨4,再拨1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)