2015-09-11 55 views
1

我們如何填充用戶對象中的指針?在我的Parse User表中,我有以下指針數組:「toys」,指向一個類型爲「Toy」的對象。parse.com如何填充用戶對象指針?

在我的iOS客戶端:

PFUser.currentUser()?.toys將返回一個指針數組玩具,不飽滿的玩具對象。 如何檢索並保留完整對象到PFUser.currentUser()?.toys以便下次訪問PFUser.currentUser()?.toys時,我會獲得完整對象?

謝謝。

UPDATE:

示例代碼,顯示我的意思(感謝切塔尼亞國王):

let query = PFUser.query()! 
query.includeKey("toys") 
query.getObjectInBackgroundWithId(PFUser.currentUser()!.objectId!, block: { 
    (object: PFObject?, error: NSError?) -> Void in 
     if object != nil { 
      if let toys = object!["toys"] as? [PFObject] { 
       println(toys) // full Toy objects 
       println(PFUser.currentUser()?.toys) // Toy pointers 
       // the two toys above won't be the same. What I want is 
       // to have PFUser.currentUser() contains fully fetched toys 
       // objects so I can use it throughout my app later without 
       // have to re-fetch them. 
      }) 
     } 
}) 

回答

1
let query = PFUser.query()! 
query.includeKey("toys") 
query.getObjectInBackgroundWithId(PFUser.currentUser()!.objectId!, block: { 
    (object: PFObject?, error: NSError?) -> Void in 
     if object != nil { 
      if let toys = object!["toys"] as? [PFObject] { 
       // toys! 
      }) 
     } 
}) 
+0

是的,但如果你訪問'PFUser.currentUser()!toys'它仍然是一個指針數組,這是我的問題的本質。 –

+0

@VanDuTran,這個答案是正確的,但是很弱,因爲它沒有解釋。主要部分是'query.includeKey(「玩具」)',它使查詢也獲取玩具數組中指針引用的相關對象。 – danh

+0

@danh我明白'query.includeKey(「玩具」)'。但是,'query.getObjectInBackgroundWithId()'返回的'PFObject?/ PFUser?'與'PFUser.currentUser()'不一樣,所以在這個方法調用之後,'PFUser.currentUser()!. toys'仍然是指針不是完整的對象。我會在我的原始問題中添加更多細節。 –