【问题标题】:How to resume data download in objective c?如何在目标c中恢复数据下载?
【发布时间】:2012-04-04 12:03:38
【问题描述】:

我正在下载一些数据,而中间的网络连接中断,如何在核心数据模型中从当前状态恢复下载?

【问题讨论】:

    标签: core-data


    【解决方案1】:

    核心数据模型与下载无关。您必须区分这些步骤:

    1. 发出下载请求。
    2. 下载以成功或错误结束。
    3. 处理数据 - 例如将其存储在核心数据中。
      • 如果成功完成,你就完成了
      • 如果不继续
    4. 请注意,您可以再次下载。
    5. 形成一个新的下载请求,只向服务器请求丢失的数据
    6. 转到第 2 步。

    第 1 步将使用NSURLRequest 处理。
    第 2 步可以在 NSURLConnection 委托方法中捕获。
    如果你成功了,第 3 步应该是常规的。如果没有,您将不得不分析您的数据对象以查看可以挽救和保存的内容。
    第 4 步可以通过 Reachability 类完成。检查 Apple 的示例代码。
    第 5 步要求您的服务器可以处理选择性数据请求。

    单个步骤有很多细节。最好在 stackoverflow 上搜索并查阅文档以对各个步骤进行编码。我希望这个方案能帮助你解决问题。

    【讨论】:

    • 如何从当前状态重新开始下载,如果我已经下载了全部数据的 40%,我只想下载剩下的 60%。维护下载数据百分比的步骤是什么。在我的数据中模型有一个复杂的数据模型,具有多对多的关系,下载过程包括多个http请求,将数据保存在多个表中。
    • 如何使用BOOL 跟踪成功下载。遍历对象并将下载不成功的新下载请求排队。在我的一个项目中,我的做法略有不同,有一系列下载请求。
    猜你喜欢
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2015-12-13
    • 2017-06-10
    • 2016-01-22
    相关资源
    最近更新 更多