我是iOS开发的相对初学者,但我设法让我的应用程序完成我想要的所有操作。但是,我有一些关于将应用程序绑在一起的问题。
我appDelegate当前唯一的代码处理远程通知;当我收到远程通知时,我会向用户发送警报,消息等。我还为通知中心生成通知,这会导致在不同的视图控制器中运行不同的方法。
appDelegate中的所有不同功能怎么样? DidEnterBackground,WillEnterForeground等?我的应用程序从一个视图(view1)开始,它创建一个对象(stream1),它有一个方法stopStream。我有按钮来启动和停止流([self.stream1 stopStream])。我的问题是,如何调用这些方法来停止appDelegate方法中的对象的特定实例?我是否需要在appDelegate中为通知中心创建通知,并在视图中处理它?还是有一个更简单的方法?或者我做的事情是完全错误的,而不是根据最佳做法?
任何帮助将不胜感激!此外,指向应用程序架构指南的链接,或指向您最喜欢的关于在iOS中构建应用程序的书籍的链接将非常棒!
答案 0 :(得分:1)
如果应用委托实际上需要对这些事件做某事,您的应用代理只需要实现各种应用委托方法。
如果给定的视图控制器或其他类对各种应用程序委托通知感兴趣(例如输入背景或返回前台等),则视图控制器或其他类应注册相应的通知。有关不同的通知,请参阅UIApplication
的文档。
不要让app delegate方法发布自定义通知。
答案 1 :(得分:0)
您要查找的所有方法都可以在here in the docs列出。
关于他们应该做些什么,这绝对取决于你的应用程序。最佳做法是至少正确处理进出背景,以便至少使用这些方法并在您的应用中采取适当的操作。
应用程序很常见,就像你提到的那样简单地发布NSNotification。在大多数情况下它完全可以接受。