我是iPhone开发人员的新手...我正在构建一个从本地sqlite3数据库加载数据的应用程序
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Run Code Online (Sandbox Code Playgroud)
当我点击iPhone按钮并将其放在背景中然后我回想起它我看到(正常)应用程序的方式与我离开它的方式相同.我想做的是,当它出现在foregroud中时,重新加载数据就像从头开始调用一样.
这是正确的方法吗?
在此先感谢c.
sbs*_*sbs 62
因此,在App Delegate类中,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
只有在您第一次进入应用程序时才会调用它- (void)applicationDidBecomeActive:(UIApplication *)application.然后它将调用.
如果你的iphone iOS是4.0或更高版本,当用户点击主页按钮时,它将首先调用- (void)applicationWillResignActive:(UIApplication *)application,然后- (void)applicationDidEnterBackground:(UIApplication *)application.
然后应用程序将在后台运行,直到用户杀死它.当用户再次进入应用程序时,它将首先调用- (void)applicationWillEnterForeground:(UIApplication *)application,然后- (void)applicationDidBecomeActive:(UIApplication *)application.
与您的问题相关,您应该调用applicationWillEnterForeground:或applicationDidBecomeActive:重新加载数据.虽然在xcode对这些方法的评论中,Apple建议使用applicationDidBecomeActive:重启暂停的任务和/或更新用户界面; 在中applicationWillEnterForeground:,您可以撤消在输入背景时所做的更改.
因此,为了便于查看,我为每个方法添加了一个数字标记.这是调用方法的时候.
0 application:(UIApplication *)application didFinishLaunchingWithOptions:
1 applicationDidBecomeActive:
2 applicationWillResignActive:
3 applicationDidEnterBackground:
4 applicationWillEnterForeground:
Run Code Online (Sandbox Code Playgroud)
首先输入app:调用0,然后调用1;
点击主页按钮:拨打2,然后拨打3;
双击主页按钮(多任务处理):拨打2;
如果用户选择其他应用程序或再次点击主页按钮:拨打3;
如果用户再次点击主页按钮:拨打1;
再次输入app:调用4,然后调用1;
小智 13
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
Run Code Online (Sandbox Code Playgroud)
重新加载应用程序委托的上述功能中的数据,以便在应用程序到达前台时刷新数据.