Ios 两个物体能互相指向对方吗?

Ios 两个物体能互相指向对方吗?,ios,parse-platform,Ios,Parse Platform,我有两个对象,为了简单起见,我将它们称为A和B 我创建并保存一个文件 我创建B,在它上面设置一个名为“a”的属性,指向a,然后保存B 然后在a上创建一个名为“b”的属性,然后保存a 当我尝试这样做时,有些东西似乎不正常工作,我试图理解它是否是代码中的其他东西,或者Parse不允许我有两个相互指向的PFObjects 两个物体能互相指向对方吗?就我所知,它们不能 我遇到了同样的问题。我的解决方法是让B存储A的objectId,A存储指向B的指针。它们确实可以。我假设您不是在等待保存完成,因此它失败

我有两个对象,为了简单起见,我将它们称为A和B

  • 我创建并保存一个文件
  • 我创建B,在它上面设置一个名为“a”的属性,指向a,然后保存B
  • 然后在a上创建一个名为“b”的属性,然后保存a
  • 当我尝试这样做时,有些东西似乎不正常工作,我试图理解它是否是代码中的其他东西,或者Parse不允许我有两个相互指向的PFObjects

    两个物体能互相指向对方吗?

    就我所知,它们不能


    我遇到了同样的问题。我的解决方法是让B存储A的
    objectId
    ,A存储指向B的指针。

    它们确实可以。我假设您不是在等待保存完成,因此它失败了

    如果创建A并保存它,创建指向A的B并保存B,那么您也可以指向A上的B并保存它。但是,在操作之间,保存必须完成

    无论如何,这不是一个推荐的方法

    PFObject *post = [PFObject objectWithClassName:@"Post"];
    PFObject *comment = [PFObject objectWithClassName:@"Comment"];
    [post saveInBackgroundWithBlock:^(BOOL success, NSError *error) {
      [comment setObject:post forKey:@"post"];
      [comment saveInBackgroundWithBlock:^(BOOL success, NSError *error) {
        [post setObject:comment forKey:@"comment"];
        [post saveInBackgroundWithBlock:^(BOOL success, NSError *error) {
          // Both objects should be linked now.
        }];
      }];
    }];
    

    不,他们不能。你想让B有一个a的孩子吗?B存储对a的引用吗?虽然我没有找到支持你答案的文档,但这并不意味着没有。现在你的答案与我的经历相符。我做了和你一样的事,现在一切都好了。所以,在其他人证明你是“错”之前,我会把这个标记为正确的。我认为你应该仔细检查你的答案。第一:您不能将
    PFObject
    放入该类型的块中。正确的类型是
    ^(BOOL,NSError*)
    not
    ^(PFObject*,NSError*)
    2:永远不会到达最后一个块,无法知道何时完成。第三:如果您在之后查看仪表板中的这些对象,则每个评论都有一个指向帖子的指针,但每个帖子都没有指向评论的指针。我建议您自己尝试一下,看看它是如何工作的。不幸的是,当我在设置了指向另一个对象的指针后试图保存第二个对象时,什么都不会发生。我做不到,你说得对。。它没有到达最后一个完成区块。我写了一个自由形式的例子,所以是的,我错了。更新了,但是请在这里打开bug工具的bug报告:这是正确的答案。我有一个类似的问题,a有一个B数组,每个B都指向它的a。它工作正常,但必须使用上面显示的3个保存。如果设置两个指针,然后执行两次保存,则第二次保存将永远不会返回。这是一个解析错误,我已经报告过了。