簡體   English   中英

如何檢索存儲在PFUser.currentUser()下的PFObjects自定義子類的數組

[英]How do I retrieve an array of a custom subclass of PFObjects stored under the PFUser.currentUser()

我正在努力檢索存儲在PFUser.currentUser()上的PFObjects數組

我有一個PFObject的自定義子類:UNUser

這是保存[UNUser]數組的方法,該數組稱為favoriteDrivers:

if let currentUser = PFUser.currentUser() {
  currentUser["favoriteDrivers"] = favoriteDrivers
  currentUser.saveInBackgroundWithBlock({ (succes: Bool, error: NSError?) -> Void in
    if succes {
    }
  })
}

如果我這樣檢索條目:

if let currentUser = PFUser.currentUser() {
    var objects = currentUser["favoriteDrivers"]

println(objects)在控制台中顯示了這一點(此試驗中的數組只有一個條目):

Optional(("<UNUser: 0x174138920, objectId: mEgJALLLA9, localId: (null)> {\n}"))

現在,什么是獲取引用的PFObject並將其存儲在UNUser數組中的最佳方法是什么?

這是我嘗試的:

  var relation = currentUser.relationForKey("favoriteDrivers")
    relation.query()!.findObjectsInBackgroundWithBlock{ ( objects: [AnyObject]?, error: NSError?) -> Void in
      if error == nil {
        let favoriteDrivers = objects as? [UNUser]

您正在設置一個數組,因此您需要讀取一個數組,而不是一個關系。

您的數組實際上是指針數組,這正是您想要的,但是您需要確保您擁有這些指針的所有數據,因為默認情況下(如您在日志中所見),您只能獲得該類類型和對象ID。

為此,獲取數組,然后對數組調用fetchAllIfNeededInBackground:block: 這將使用服務器中的當前數據更新需要陣列的任何對象。 這有點像您的關系查詢...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM