我正在努力检索我存储在PFUser.currentUser()上的PFObject数组
我有一个PFObject的自定义子类:UNUser
以下是我如何保存名为favoriteDrivers的[UNUser]数组:
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]
答案 0 :(得分:2)
您正在设置数组,因此您需要读取数组,而不是关系。
您的数组实际上是一个指针数组,这正是您想要的,但您确实需要确保您拥有这些指针的所有数据(默认情况下)(正如您在日志中看到的那样)获取类类型和对象ID。
为此,获取数组,然后使用数组调用fetchAllIfNeededInBackground:block:
。这将使用来自服务器的当前数据更新数组中需要它的任何对象。这有点像你的关系查询...