编辑:我认为这个错误可能是由于Xcode6.3可能改变了一些特性,而query.getObjectInBackgroundWithId就是其中之一。
我正在尝试运行一个查询,但是当我运行方法"query.getObjectInBackgroundWithId“时,我得到了错误消息:
“无法使用类型为(string,block:(PFObject!,NSError?) -> ->)的参数列表调用'getObjectInBackgroundWithId‘”
override func viewDidLoad() {
super.viewDidLoad()
let score = PFObject(className: "gameScore")
var query = PFQuery(className: "gameScore")
query.getObjectInBackgroundWithId("HK0UbuTIQL", block: {
(score: PFObject!, error: NSError?) -> Void in
if error == nil {
println("pussiesPoundedCreated")
} else {
println(error)
}
})
}发布于 2015-04-21 23:45:52
您可以删除block语句并展开变量,如下所示:
var query = PFQuery(className: "gameScore")
query.getObjectInBackgroundWithId("HK0UbuTIQL") {
(gameScore: PFObject!, error: NSError?) -> Void in
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}Parse.com文档非常好,大多数代码示例都可以使用Swift。Here is a link to this topic
发布于 2015-04-21 23:55:55
此方法接受一个参数签名为(PFObject!, NSError!)的块,但您编写的块的参数签名为(PFObject!, NSError?)。将NSError?更改为NSError!。
您还应该在Portland Runner's answer中使用trailing closure syntax,因为它更具可读性。
https://stackoverflow.com/questions/29776605
复制相似问题