编辑:我认为这个错误可能是因为Xcode 6.3可能已经改变了一些功能,而query.getObjectInBackgroundWithId就是其中之一....
我正在尝试运行查询,但是当我运行方法" query.getObjectInBackgroundWithId" ,我收到错误消息:
"无法调用' getObjectInBackgroundWithId'使用类型的参数列表(string,block:(PFObject!,NSError?) - > Void"
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)
}
})
}
答案 0 :(得分:1)
您可以删除阻止语句并解开变量,如下所示:
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
答案 1 :(得分:0)
此方法采用带有参数签名(PFObject!, NSError!)
的块,但您编写的块的参数签名为(PFObject!, NSError?)
。将NSError?
更改为NSError!
。
您还应该使用trailing closure syntax中的Portland Runner's answer,因为它更具可读性。