下面是UIApplicationDelegate中相应的一些方法:
现在来看协议中定义的这些需要实现的方法分别是什么作用:
1、- (void)applicationWillResignActive:(UIApplication *)application
说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
2、- (void)applicationDidBecomeActive:(UIApplication *)application
说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反
3、- (void)applicationDidEnterBackground:(UIApplication *)application
说明:当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
4、- (void)applicationWillEnterForeground:(UIApplication *)application
说明:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
5、- (void)applicationWillTerminate:(UIApplication *)application
说明:当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。
6、- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止
7、- (void)applicationSignificantTimeChange:(UIApplication*)application
说明:当系统时间发生改变时执行
8、- (void)applicationDidFinishLaunching:(UIApplication*)application
说明:当程序载入后执行
9、- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame
说明:当StatusBar框将要变化时执行
10、- (void)application:(UIApplication*)application willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
duration:(NSTimeInterval)duration
说明:当StatusBar框方向将要变化时执行
11、- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
说明:当通过url执行
12、- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
说明:当StatusBar框方向变化完成后执行
13、- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame
说明:当StatusBar框变化完成后执行
下图是我总结的一个大概流程图,不是很准确但是基本上也说明了整个过程,仅供参考。
分享到:
相关推荐
UIApplication对象是iOS应用中所有活动的管理者,而UIApplicationDelegate协议则是定义了一个应用可以响应的关键事件列表。这些事件包括应用启动完成、即将终止、内存不足以及重要变化发生等。通过实现这个协议中的...
// AppDelegate.m中实现UIApplicationDelegate协议中的方法 - (void)applicationWillResignActive:(UIApplication *)application { // 应用即将进入非活跃状态 } - (void)applicationDidBecomeActive:...
UIApplicationDelegate提供了两种方法,可在用户打开应用程序时用来运行代码: applicationWillEnterForeground和applicationDidBecomeActive 。 但是以下两种方法都不适合这种情况: 首次启动应用程序时未调用...
`UIApplicationDelegate`协议则定义了与`UIApplication`交互的方法,开发者通常需要实现这个协议来处理应用启动、进入后台、恢复前台等各种状态变化。 接下来是`UIViewController`,它是所有视图控制器的基类。`...
在iOS应用开发中,`UIApplicationDelegate`协议扮演着至关重要的角色,它定义了应用程序与其委托对象之间交互的方式。通过实现这个协议的方法,开发者可以控制应用程序的生命周期事件,例如启动、暂停、终止等。下面...
`UIApplicationDelegate`协议定义了一系列方法,如`applicationDidFinishLaunchingWithOptions:`,这是应用启动后最早被调用的方法,通常在这里进行初始化工作。 ```objc #import @interface AppDelegate : ...
2. **处理URL Scheme**:在App B中,你需要实现`UIApplicationDelegate`的`application:openURL:options:`方法。当App A尝试通过自定义URL scheme启动App B时,系统会调用这个方法,传入App A提供的URL。在这里,你...
`UIApplicationDelegate`协议提供了多个方法,用于处理应用程序的生命周期事件。这些事件包括但不限于应用启动、激活、进入后台等状态变化。理解这些方法的作用可以帮助开发者更好地控制应用的行为。 #### 四、 ...
这些协议定义了特定功能的行为,如表格视图如何填充数据、如何处理用户的触摸事件等。 例如,在"代理的示例代码03-应用管理04-UIView的封装"中,我们可能会看到一个自定义UIView的代理协议,比如`...
在iOS应用开发中,`UIApplicationDelegate` 是一个至关重要的协议,它定义了应用程序对象与系统交互的方式,处理应用程序的生命周期事件。这个协议提供了多种方法,允许开发者在特定的时间点执行代码,比如应用程序...
例如,`NSCopying`协议允许对象复制自身,而`UIApplicationDelegate`协议则是iOS应用的代理对象必须遵循的。 类别(Categories)是Objective-C的一个独特特性,允许你为已存在的类添加方法,无需继承。这在扩展系统...
在实际应用开发中,协议常用于定义委托(Delegate)关系,如即将讨论的UIApplication与UIApplicationDelegate之间的关系。 每个iOS应用程序都包含一个`UIApplication`对象,它是整个应用程序的核心管理者。它负责...
8. **App Delegate**:UIApplicationDelegate协议定义了一些方法,这些方法在应用的特定事件(如启动、进入后台等)发生时被调用。虽然不在“Hello, World!”程序中直接涉及,但了解它对理解整个应用的运行过程很有...
AppDelegate是每个iOS应用的核心组件之一,它是UIApplicationDelegate协议的实现类,负责处理应用的启动、终止、进入后台和恢复等关键事件。这些事件包括: 1. `application(_:didFinishLaunchingWithOptions:)`:...
- iOS系统提供了`UIApplicationDelegate`协议,该协议定义了一系列方法来处理应用生命周期中的关键事件,其中包括应用进入后台、恢复前台等。我们需要遵循这个协议,并重写其中的`applicationWillEnterForeground(_...
代理对象通过实现`UIApplicationDelegate`协议的方法来响应这些事件。 - `- (void)applicationWillResignActive:(UIApplication *)application`:当应用即将进入非活动状态,如接到来电、锁屏等。 - `- (void)...
- **定义**: 在Objective-C中,协议类似于其他面向对象语言中的接口,定义了类必须遵循的方法签名。 - **示例**: ```objective-c @protocol SimpleProtocol -(void)doSomething:(NSString*)str; @end @...
10. **应用程序委托**:每个iOS应用都有一个应用程序委托对象,通常是一个实现了UIApplicationDelegate协议的类。委托负责处理应用生命周期的事件,如启动、进入后台、恢复等,还可以通过`window`属性设置主窗口,...
4. UIApplication对象的代理需遵守UIApplicationDelegate协议,它处理应用生命周期中的各种事件,如启动、进入后台等。 5. MVC是Model-View-Controller的缩写,是一种常见的软件设计模式,用于分离业务逻辑、用户...