对于以下代码,导致Can't invoke 'findObjectInBackgroundWithBlock' with an argument list of type ((AnyObject!, NSError!) -> Void)
错误并且无法在后台运行解析查询。有什么想法吗?
var data = Query.findObjectsInBackgroundWithBlock(
{(object:AnyObject!, error:NSError!) -> Void in
})
答案 0 :(得分:4)
如果您使用的是swift 1.2(Xcode 6.3),则需要通过以下方式调用该函数:
var data = Query.findObjectsInBackgroundWithBlock({(objects:[AnyObject]?, error:NSError?) -> Void in
})
如果您使用的是swift 1.1(Xcode 6.1,6.2),则需要通过以下方式调用该函数:
var data = Query.findObjectsInBackgroundWithBlock({(objects:[AnyObject]?, error:NSError!) -> Void in
})
这是不同的,因为swift更新1.2随着使用选项而发生了变化。
答案 1 :(得分:3)
您应该将object
参数类型更改为AnyObject数组,并将两个参数类型更改为可选。所以参数应该是(object: [AnyObject]?, error: NSError?)
。
如下所示:
var data = Query.findObjectsInBackgroundWithBlock({(object: [AnyObject]?, error: NSError?) -> Void in
})