如何将appDelegate绑定到应用程序的其余部分?

时间:2013-03-19 20:48:48

标签: iphone ios ipad uiviewcontroller appdelegate

我是iOS开发的相对初学者,但我设法让我的应用程序完成我想要的所有操作。但是,我有一些关于将应用程序绑在一起的问题。

我appDelegate当前唯一的代码处理远程通知;当我收到远程通知时,我会向用户发送警报,消息等。我还为通知中心生成通知,这会导致在不同的视图控制器中运行不同的方法。

appDelegate中的所有不同功能怎么样? DidEnterBackground,WillEnterForeground等?我的应用程序从一个视图(view1)开始,它创建一个对象(stream1),它有一个方法stopStream。我有按钮来启动和停止流([self.stream1 stopStream])。我的问题是,如何调用这些方法来停止appDelegate方法中的对象的特定实例?我是否需要在appDelegate中为通知中心创建通知,并在视图中处理它?还是有一个更简单的方法?或者我做的事情是完全错误的,而不是根据最佳做法?

任何帮助将不胜感激!此外,指向应用程序架构指南的链接,或指向您最喜欢的关于在iOS中构建应用程序的书籍的链接将非常棒!

2 个答案:

答案 0 :(得分:1)

如果应用委托实际上需要对这些事件做某事,您的应用代理只需要实现各种应用委托方法。

如果给定的视图控制器或其他类对各种应用程序委托通知感兴趣(例如输入背景或返回前台等),则视图控制器或其他类应注册相应的通知。有关不同的通知,请参阅UIApplication的文档。

不要让app delegate方法发布自定义通知。

答案 1 :(得分:0)

您要查找的所有方法都可以在here in the docs列出。

关于他们应该做些什么,这绝对取决于你的应用程序。最佳做法是至少正确处理进出背景,以便至少使用这些方法并在您的应用中采取适当的操作。

应用程序很常见,就像你提到的那样简单地发布NSNotification。在大多数情况下它完全可以接受。