Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 解析关系与ObjectId_Ios_Parse Platform - Fatal编程技术网

Ios 解析关系与ObjectId

Ios 解析关系与ObjectId,ios,parse-platform,Ios,Parse Platform,我有一个用户和一个主题类,每个主题都与一个用户关联。在Topic中设置用户与用户之间的关系与在Topic中将用户的objectId保存为字符串之间是否存在有意义的区别?这两种方法都有效,但我想知道这种关系方法是否有任何性能或其他好处 在这种情况下,应该使用指针。因为如果使用这种方法,就不需要像只保存objectId字符串那样再次查询用户。即使您是否使用云代码,为了实现一个可靠的应用程序,您也应该使用指针,这就是它的设计方式 在解析中处理关系时,我通常遵循以下步骤: 一对一=指针 一对多=指针

我有一个用户和一个主题类,每个主题都与一个用户关联。在Topic中设置用户与用户之间的关系与在Topic中将用户的objectId保存为字符串之间是否存在有意义的区别?这两种方法都有效,但我想知道这种关系方法是否有任何性能或其他好处

在这种情况下,应该使用指针。因为如果使用这种方法,就不需要像只保存objectId字符串那样再次查询用户。即使您是否使用云代码,为了实现一个可靠的应用程序,您也应该使用指针,这就是它的设计方式

在解析中处理关系时,我通常遵循以下步骤:

  • 一对一=指针
  • 一对多=指针
  • 多对多=关系
因此,在您的示例中,保存主题PFObject时,请确保将PFUser对象设置为该主题。因此,如果要将当前用户保存为主题的所有者,可以执行以下操作:

newTopic["owner"] = PFUser.currentUser()
newTopic.saveInBackgroundWithBlock {
....

这将设置一个指向保存在parse中的用户的指针。因此,在检索主题时,您可以访问整个PFUser对象。

不同之处在于您希望数据之间的关系类型。如果将用户objetcId存储为字符串,则只需在用户和主题之间创建一对一的关系(这与使用指针非常相似)


如果您使用关系,那么从技术上讲,您正在形成一对多的关系,其中一个主题可以有多个关联用户。关系设计为可伸缩的,并且适合(性能方面的)更大的数据集。

我的问题是,这是否是一个没有区别的区别。如果我保存用户的objectId,我就可以使用它轻松地检索用户。我想在iOS中这样做需要更多的代码,但在云代码中则不然(在云代码中,您只需使用“get”)。@pickwick刚刚对这个问题进行了一些更新,以澄清一些细节