【发布时间】:2019-03-04 07:05:22
【问题描述】:
我需要在我的应用中创建离线模式。
用户应该能够使用图像和文本数据创建新产品,并以在线和离线模式发送到服务器。现在它在在线模式下工作,但至于离线我需要帮助。据我了解,这是我应该做的:
- 检查 Internet 可用性 - 完成。
- 如果没有互联网连接 - 保存 Alamofire 请求并在有互联网时发送 - 如何?
- 清除已成功发送的已保存请求。
我应该如何使用 multipartFormData 请求保存多个 Alamofire 上传?
我找到了这个答案 - SO Answer,但它只涵盖了没有任何文件的简单发布请求,而且我的情况有点复杂。
不胜感激代码示例或如何保存请求的任何步骤。
这是我检查 Internet 的方式:
if Reachability.isConnectedToNetwork() {
print("Internet Connection Available!")
} else {
print("Internet Connection not Available!")
}
在我的班级Reachability 我正在检查互联网连接。
非常感谢您的帮助!
【问题讨论】:
-
你在后端使用什么?我的意思是您是否使用自己的网络服务,例如 firebase、azure 等第三方?
-
@Napster 我正在使用我自己的服务
-
好的。如果您希望您的应用同时在离线和在线模式下工作,那么您必须在本地保存数据(核心数据、文件等),当您连接到互联网时,您将在后台将本地数据上传到您的服务器。
-
如果你使用 google firebase 那么它会很容易,因为 firebase 提供离线功能,你不会自己做任何同步工作。但请记住,firebase 没有关系数据库,它使用文档库数据库。如果您有关系数据库,Microsoft azure 是一个不错的选择。
-
@Napster 好的,感谢您的建议。我想我现在先将这些产品保存在 Core data 中
标签: ios swift network-programming save alamofire