如何检测iphone app状态的变化?
我发布了这个问题(以及答案),以便其他人可以从一个简洁的技术中受益,我已经发展到让模块自动检测(和响应)iOS应用程序状态更改。 (格式化)博客讨论在这里我的博客
没有找到相关结果
已邀请:
1 个回复
犯痪桂涛杭
在app delegate的applicationDidBecomeActive实现中,我们只需要让RobustWebService响应UIApplicationDidFinishLaunchingNotification。 现在考虑一下,您可能会意识到,为了让RWS类处理通知,它必须注册为观察者。那个电话看起来像
那可以在哪里完成?请记住,我们不想触摸应用程序委托,因为这会破坏拥有自包含插入模块的意图。如果只有某种方法让addObserver函数调用自动发生在类中。要是… 在这一点上,我们不得不退出“Cocoa”并深入研究Objective-C的基础技术。果然,有一个类方法,称为“加载”,如果在类定义中存在,它将在首次加载类时自动调用。让我们在代码中重申一下。如果在任何class.m文件中编写此函数
它将在iOS加载类时运行。有趣的是,它在你的应用程序的main()例程被调用之前运行,所以你必须非常小心你尝试做什么!此时您的大多数应用程序实际上并未运行,但您可以保证您的类链接的所有框架都将首先加载。像NSNotificationCenter这样的框架,所以如果你在class.m中包含它
然后,当您的应用程序变为活动状态时,将调用handleAppBecomeActive方法,而不必在项目中包含class.h和class.m之外执行任何操作。 如果您在class.m文件中包含此代码
您的课程将收到所有应用程序状态更改的通知,无需其他工作。这太酷了,它仍然让我觉得很刺激。请享用! 特里