在两个PFObject上存储一对一指针

时间:2015-11-02 01:39:49

标签: ios swift parse-platform

Parse中的经典模式:一个设置指向PFObject的指针:

let fidoTheDog = PFObject(className: "Dog")
fidoTheDog["owner"] = PFUser.currentUser()
fidoTheDog.saveInBackground()

指针存储在fidoTheDog上,但不存储在另一端:

我不知道我的狗是谁。我甚至不知道我是否拥有一只狗。我必须通过整个狗列表找到哪条狗是我的。

所以我添加一个指向fidoTheDog的指针作为我的狗。

let fidoTheDog = PFObject(className: "Dog")
fidoTheDog["owner"] = PFUser.currentUser()
fidoTheDog.saveInBackgroundWithBlock { success, error in
    let user = PFUser.currentUser()
    user["dog"] = fidoTheDog
    user.saveInBackground()
}

但现在我有两个请求,这很难看。

有没有办法一次性存储两端的指针?

1 个答案:

答案 0 :(得分:1)

如果您创建狗PFObject并将其设置为用户的dog属性然后保存用户,则Parse应递归保存它指向的任何PFObject。

    let fidoTheDog = PFObject(className: "Dog")
    fidoTheDog["owner"] = PFUser.currentUser()
    PFUser.currentUser()!["dog"] = fidoTheDog
    PFUser.currentUser()!.saveInBackground()