在 iOS 上使用 Parse BaaS:我应该使用 PFFile 来保存原始类型和 Objective-C 类吗?

Posted

技术标签:

【中文标题】在 iOS 上使用 Parse BaaS:我应该使用 PFFile 来保存原始类型和 Objective-C 类吗?【英文标题】:Using Parse BaaS on iOS: Should I use PFFile for saving primitive types and Objective-C classes? 【发布时间】:2013-05-10 20:07:38 【问题描述】:

试图了解如何使用 Parse(Parse.com BaaS [后端即服务],对于初学者),并在阅读 PFFile 参考资料时,我有点不清楚什么是“非关系方式” " 在“概述”描述中的意思是:“存储在 Parse 服务器上的二进制数据文件。这可以是图像、视频或应用程序需要以非关系方式引用的任何其他内容。”

有人,最好是有 Parse 经验的人,能澄清一下吗?现在,我正在努力只向服务器发送基本的 Objective-C 对象和原始数据类型。没有图像,音频或其他任何内容。

我应该什么时候使用 PFFile 而不是 PFObject?

(另外,应该有人添加 BaaS、MBaaS、后端即服务、移动后端即服务标签。我当然不能。)

编辑:以及部分或全部 Parse 类、PFObject、PFFile 等等等。

【问题讨论】:

【参考方案1】:

我在 ios 应用中使用 Parse 的过程相对较早。部分是因为我必须支持离线操作,部分是因为我在开发方面做得很好,所以我选择使用 CoreData 拥有一个原生数据库。我基本上将我的 CoreData 对象中的信息复制到看起来各不相同的 Parse 对象中。如果我对离线操作有更宽松的要求,我可能会尝试做一个纯粹基于 Parse 的数据库。 Parse 确实支持离线操作的缓存,但这对我来说似乎太不确定了。

我所有的图像都被赋予了 UUID 文件名并存储在我的应用程序本地。文件名可以出现在对象中。我会将这些文件作为使用相同文件名的文件移动到 Parse。由于它们是 UUID,我知道我不必担心冲突。

在某些情况下,我会将作为我在 iOS 上的本地持久存储的 sqlite DB 文件移动到 Parse as files,然后尝试将它们下载回 iOS。我希望这能奏效,但尚未证实没有看不见的陷阱。我将为仅在 iOS 应用程序本身上使用的大型对象包执行此操作。

如果我的应用只需要与其他 iOS 应用通信对象,我可能不会使用 Parse。我需要与网站和 android 应用程序共享数据。这一点以及我对后端 API 易于处理的渴望使 Parse 看起来是正确的选择。

【讨论】:

我不完全确定这是我问题的答案,而是对何时使用 Parse 而不是本地数据库的评论?在回去阅读我的帖子时,我意识到这个问题本来可以更清楚。澄清一下,我知道我应该在后端使用 Parse,因为我对服务器端的东西或数据库一无所知,我正在寻找最简单、实现最快的解决方案。我唯一真正的问题是 PFFile 文档中的“非关系方式”是什么意思。这让我很困惑,因此引出了一个问题,“我应该什么时候使用 PFFile?” 我认为你的问题主要是“我什么时候应该使用 PFObject,什么时候应该使用 PFFile?”我想简单地说,如果你在 iOS 中有一个具有属性的对象,它应该是 Parse 上的 PFObject。将 PFFile 用于“大”且没有内部结构(您所关心的)的事物。换句话说,将 PFFile 用于 blob。 “非关系”短语有点令人困惑。我认为它们的意思是对象不是由单个字段(或列,如果你愿意的话)组成。 非常感谢。我有点以为这就是你的意思。有道理。

以上是关于在 iOS 上使用 Parse BaaS:我应该使用 PFFile 来保存原始类型和 Objective-C 类吗?的主要内容,如果未能解决你的问题,请参考以下文章

layer vs quickblox baas 比较

Parse:在 Parse 服务器上编写云代码

对象未保存在 Parse-Server 上

Baas与Serverless Faas

是否可以将外部数据添加到 CloudKit?

Android:我应该使用啥来进行 android 推送通知?谷歌云消息传递或 Parse.com