我希望这不是一个不合适的帖子,但我想确保我的第一步实现解析作为我的后端是正确的方向来节省一些时间。我是iOS编程和解析sdk的新手,所以请耐心等待我!
在我的应用中,用户可以在Google Maps mapView上创建各种多边形形状叠加层,存储为GMSMutablePath,它基本上是一个坐标列表。用户将至少拥有一组路径,每个路径至少有一个路径。每组还存储一些信息,存储为字符串或数字。此信息特定于单个路径组。
我试图找出存储这些数据的最佳方法。我的第一个基本问题是1)我可以将GMSMutablePath作为一个整体存储在Object数据类型中吗?或者Object数据类型是指通过解析创建的类?此链接(https://www.parse.com/questions/what-is-data-type-of-object-in-data-browser)是最好的'解释我发现了对象数据类型,对我来说并不是很清楚。
我的直觉是不,我不能存储GMSMutablePath对象,而Object指的是Parse对象。这导致我2)我应该如何存储这些数据呢?我可以得到构成每条路径的坐标的单独lat / long值,我可以将它们存储为数字,并使用这些数字在其他地方重新创建路径。没有路径应该使用太多的坐标,并且每个组中的路径不应该太多。
在数据浏览器中玩一下,我发现我可以存储数组,但我不确定它们是如何格式化的,因为我需要数组(组)数组(数组的路径数(纬度/长值)。一点点的谷歌搜索告诉我它可以完成,但没有告诉我如何。任何数据类型都可以存储在任何数组中,还是指定的数据类型?我习惯于C ++编程,因此我习惯了包含单一类型元素的数组。我想的是我需要一组对象,这些对象就是路径组。这些对象中的每一个都具有与该组相关联的字符串/数字信息,以及该组内路径的数组。对于这些路径中的每一个,它必须是数组或对象。因为对于路径我只需要坐标lat / long值,我认为我可以逃脱每个路径是一个数字数组,我可以编写我的程序使用一个数组,奇数索引是lat / even索引长期的价值观。总而言之,我不确定如何创造所有这些。我并不是在寻找某人为我编写实现,但我能找到的所有例子都更简单......如果有人能指出我正确的方向来做这件事,或者更好的想法怎么做,我喜欢一些指示。
每个用户都将拥有自己的组,但这些数据将在某些时候与其他人共享。数据将与其所属的用户相关联。考虑到这一点,我的最后一个问题是3)我是否应该将所有这些信息存储在User类的用户及其组中,或者将它们全部作为一个单独的类?我猜我应该在User类中添加一个Object,并将这些组存储在该Object中。我只是想确保我有这个权利,考虑到未来的可扩展性。就像,当我拉取组数据时,我是否必须从另一个用户那里获取整个用户数据,如果是这样,那是否会显着降低速度?我认为我必须发送完整的用户数据,但我不知道这是否会带来任何安全风险。是否最好为组创建一个单独的类,并存储与组关联的用户ID?如果我这样做,我是否还应该将这些组存储为User类的对象?
对不起文字墙,但感谢您提供任何指导!
如果您需要任何澄清,请告诉我。
谢谢, 杰克
答案 0 :(得分:0)
创建一个类来保存所有不必要的对象。它只有一些额外的细节,这些细节同样方便添加到用户对象,然后在用户上有一个对象数组。
我学到的一些主要注意事项是:使用addObject添加到数组,而不是使用setObject将单个对象添加到PFObject / User。
解析提取/保存在后台线程中发生,因此如果您正在加载数据以执行特定的操作,请确保使用[PFObject fetchInBackgroundWithBlock]方法使用数据的代码发生在块中。
此外,当对解析用户/对象上的数据结构进行更改时,请确保退出当前用户并在应用程序上创建新用户,否则可能会遇到许多未定义的行为,可能会崩溃您的应用