ios - 使用 swift 并在后台获取数据进行 MVC 的正确方法是什么

标签 ios swift model-view-controller swift2

简短说明:

我正在使用 NSNotificationCenter 并制作一个观察者模式,这项工作,想象你有这个架构:

MVC

在管理 View 的 ViewController 中:

在 ViewDidLoad 中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "initData:", name: "dataReady", object: nil)
    self.masterController.prepareData()

func initData(notif: NSNotification){
self.datas = self.masterController.getDatasReady()
}

(这是观察者模式)

但我不喜欢这种方式,因为我需要将我的数据从我的服务器存储在我的 DAO 中的“全局”中,因为我在后台获取数据并且大多数时候什么都不返回。

您是否有更好的方法来实现它? MVC + 在后台从服务器获取数据(我对后台任务使用 dispatch_async)。

感谢您的回答。

最佳答案

您可以尝试委托(delegate),但委托(delegate)用于将消息发送给代表发件人行事的单个已知收件人。因此,如果您只有一个通知客户端,您可以尝试使用它,否则 NSNotificationCenter 是不错的选择。

我还建议您查看有关 reactive programming 的内容也许会有帮助。

关于ios - 使用 swift 并在后台获取数据进行 MVC 的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591749/

相关文章:

ios - 无法读取 INAddTasksIntent 中的消歧结果

python - 如何在 Django 模型中编写方法来检索相关对象?

jquery - 如何使用 jquery Ajax 将两个数据模型从 View 传递到 Controller

ios - TestFlight 无法完成测试者应用程序升级

iphone - iOS - 结果之间的差异

objective-c - 如何从类中序列化 NSDictionary - Swift 实现

jquery - 将 JQuery 文件上传合并到应用程序中

android - 在本地打包和分发 ios 应用程序

ios - 如何从另一个 ViewController 检索 UseDefault 保存的数据

swift - 401 alamofire 获取带有 header 的请求