试图寻找对象UserDetail当我得到这个错误信息。
错误信息
/Users/MNurdin/Documents/iOS/xxxxx/ViewController.swift:125:15: Cannot invoke 'getObjectInBackgroundWithId' with an argument list of type '(PFUser?, (PFObject?, NSError?) -> Void)'
我的代码
var user = PFUser.currentUser()
var query = PFQuery(className:"UserDetail")
query.getObjectInBackgroundWithId(user) { //error message here
(gameScore: PFObject?, error: NSError?) -> Void in
if error != nil {
println(error)
} else if let gameScore = gameScore {
gameScore["cheatMode"] = true
gameScore["score"] = 1338
gameScore.saveInBackground()
}
}
您使用了错误的参数类型传递给PFQuery
的getObjectInBackground(_:block:)
方法块。根据the docs,所述block
参数采用一个NSArray
(这可桥接至AnyObject
的夫特阵列),以及一个错误:
query.getObjectInBackgroundWithId(user?.objectId) { (object: [AnyObject]?, error: NSError?) -> Void in
// ...
}
此外,objectId
参数应该是一个字符串,但你似乎是在传递一个PFUser
实例。
我不是专家,但是在看文档,我看到它接受String作为参数,而不是目的。
尝试使用:
query.getObjectInBackgroundWithId(user?.objectId)