Objective-c,将 NSURLConnection 结果传递给 View Controller

标签 objective-c ios design-patterns nsurlconnection

老读者,第一次张贴在这里。

我正在创建一个测试应用程序,它创建一个 NSURLConnection,然后在 UILabel 上显示结果。

我目前正在使用通知中心观察器,它从 connectionDidFinishLoading 中触发通知以等待连接成功完成,然后再查找结果。

但是,我正在努力概念化的是在哪里存储响应数据,以便我可以从我的 View Controller 访问它并将结果发布到 UILabel。 (或者就此而言,来 self 的连接类实例以外的任何地方。)

我不想从 connectionDidFinishLoading 直接发布到 UILabel。我需要一种方法来决定稍后我将如何处理响应 - 所以我的连接类保持通用化。

我需要一种更好的方法来将响应数据保存在某处,以便在连接类的实例终止后我可以在其中引用它。

理想情况下,它应该位于某个地方,我可以打开多个连接类实例,并在需要时依次访问每个响应。这消除了仅在我的 View Controller 或其他更全局的地方创建变量并将响应转储到它的可能性。

如果能/应该在这里使用什么设计模式,我们将不胜感激!

最佳答案

我给你的建议是:

  1. 创建一个单例类。我将拥有一个属性 NSDictionary * info 或 NSArray *infoList;您可以从应用程序的任何位置访问相同的数据。更新属性,发布通知,从 viewController 访问属性。
  2. 将信息存储到 plist/文件中。序列化信息,或保存纯流。无论你喜欢什么。因此,在你完成文件写入后,发布通知,从应用程序内的任何地方读取文件。

在这两种情况下,如果您需要多个连接,我建议您使用工厂设计模式。

关于Objective-c,将 NSURLConnection 结果传递给 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10369868/

相关文章:

iphone - Objective C/iPhone 应用程序中的直方图生命周期数据类型

iPhone:什么时候应该使用网络事件指示器

objective-c - CCCrypt iOS5 和 iOS6 的区别

objective-c - 如何在十进制和整数之间拆分 NSDecimalnumber 并返回

iPhone 通过 POST 发送 Json 数组

ios - 堆内存的持久化分配 NSTimer

ios - 使用 AFHttpClient 请求带有身份验证 key 的 api

java - (Entity-Control-Boundary pattern) -> 如何处理两个实体?

c# - 工厂模式构建许多派生类

asp.net-mvc - MVC 处理嵌套操作方法?