if var findPublisher:PFQuery = PFUser.query(){
findPublisher.whereKey("objectId", equalTo:quote.objectForKey("publisher").objectId)//error here
}
我收到错误任何可选类型'Any Object'的值?没有打开。我不知道我做错了什么。我是初学者所以请耐心等待我:)
答案 0 :(得分:0)
这是一个你可以给每个引用指向用户对象的指针的地方,然后你可以在没有额外查询的情况下获得引用的发布者。但如果你想这样做,你会这样做:
let query = PFUser.query()!
query.whereKey("objectId", equalTo: (quote["publisher"] as! String)) // You can unwrap it as long as you are sure that quote is not nil, and the publisher is set.
query.getFirstObjectInBackgroundWithBlock({ (user: PFObject?, error: NSError?) in
// check for errors and use the object
})
这样做也可以创建Parse security issues,因为任何拥有应用ID和密钥的人都可以获得完整的用户列表。
答案 1 :(得分:0)
let findPublisher = PFUser.query()!
findPublisher.whereKey("objectId", equalTo: (quote["publisher"] as! String))
findPublisher.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]?, error:NSError?)->Void in
if error == nil{
let user:PFUser = (objects as NSArray).lastObject as! PFUser//error here
cell.publisherLabel.text = user.username
}
}
我最终收到一条错误,指出AnyObject无法转换为NSArray?