1

我是 iOS 开发的相对初学者,但我设法让我的应用程序做我想做的一切。但是,我有一些关于将应用程序捆绑在一起的问题。

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

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

任何帮助,将不胜感激!还有一个关于应用程序架构的指南的链接,或者一个你最喜欢的关于在 iOS 中构建应用程序的书的链接会很棒!

4

2 回答 2

1

如果应用程序委托确实需要对这些事件执行某些操作,则您的应用程序委托只需要实现各种应用程序委托方法。

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

不要让应用程序委托方法发布自定义通知。

于 2013-03-19T20:56:44.193 回答
0

您正在寻找的所有方法都可以在 docs 中列出。

至于如何处理它们,这绝对取决于您的应用程序。最好的做法是至少正确处理进出后台,因此至少使用这些方法并在您的应用程序中采取适当的操作。

像您提到的那样简单地爆出 NSNotification 的应用程序很常见。在大多数情况下它是完全可以接受的。

于 2013-03-19T20:53:14.753 回答