决定是否在iOS照片共享应用程序中使用Parse.com的一对多、多对多或一对一关系



我正在使用Parse.com为iPhone创建一个照片共享应用程序,到目前为止一切都很简单,我刚刚完成了将照片上传到Parse服务器的代码编写。

到目前为止,我一直在使用默认的"_User"类。以下是为每个用户存储的一些关键类型的数据:objectId、用户名、电子邮件,以及一个名为"friends"的数组对象,该对象包含用户添加到其好友列表中的数据库中其他用户的用户名。

现在,我需要设置用户之间的实际共享功能。我一直在浏览Parse文档,我需要决定是使用一对多、多对多还是一对一关系。根据我最终选择的是哪一个,我需要在使用指针、数组、解析关系或联接表之间做出决定。

我将快速解释我试图实现的"共享"功能:

  1. 对于我的照片应用程序,user1通过拍摄照片并选择将其发送给好友列表中名为user2的好友来开始"关系"。

  2. 然后将照片上传到Parse并发送给user2。

  3. user2从user1接收照片。

  4. user2打开照片,他们的工作是通过使用应用程序的编辑工具,在原始照片上随机绘制一些东西来"完成"关系"。示例:照片中,user2在user1的脸旁边画了一颗心。

  5. 当user2完成后,最终照片将保存到他们的个人资料中,并发送回原始发件人user1,此时"关系"就完成并完成/关闭了。

在阅读了这些文档并进行了自己的研究后,我得出的结论是,我需要使用Join Tables来使用多对多关系,这样我就可以包含元数据。

然而,我对objective-c和编程一般来说都是新手,如果我在开始之前没有征求意见和建议,那我就太懒了,因为我可能选择了错误的解决方案或不必要的解决方案。

您的问题更多地是关于数据库管理,而不是与Obj-C有关。

考虑在数据库中使用一个名为SharedImage的新类,该类承载图像、指向发起人和收件人的链接(1对1,我们可以使用指针或关系)以及您需要的任何其他数据。

现在,您可以根据需要创建这些对象,并可以使用当前用户根据查询获取它们。

此外,对于您现有的friends数组(您说它包含朋友的用户名),最好存储朋友的objectId,而不是用户名(因为用户名通常可以更改,但objectId是静态的)。

最新更新