經典模式一到一個指針:一個設置一個指針指向一個PFObject:上存儲兩種PFObjects在解析
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()
}
但是現在我有兩個請求,它很醜。
有沒有辦法在一端去存儲指針的兩端?
你真的沒有去通過整個列表,你可以做一個查詢,其中關鍵'owner'等於你的用戶。 – EmilioPelaez
@EmilioPelaez你不知道,但系統會通過表找到匹配,索引與否。如果你知道你在找什麼 –
這是更多的工作,是的,但是服務器可能使用二進制搜索來找到所有者,非常快('O(log n)',不如'O(1)',但仍然非常好)。你也可能冒着不一致的引用,其中'OwnerA'的狗是'Dog1','Dog1'的所有者是'OwnerB'。即使你沒有遇到這種情況,只需設置狗的主人,業主就可以擁有多隻狗。兩種選擇都有其優點和缺點。如果你想要兩個引用,你可以使用'saveAll',就像我在亞歷山大的評論中提到的那樣。 – EmilioPelaez