在Swift中解析PFCloud问题

时间:2015-03-28 00:35:15

标签: ios swift parse-platform

好的,这是我的代码:

PFCloud.callFunctionInBackground("getRates", withParameters: ["test": "test"], block: {
        (result: AnyObject!, error: NSError!) -> Void in
        if ( error === nil) {
            NSLog("Rates: \(result) ")
        }
        else if (error != nil) {
            NSLog("error")
        }
    });

但是我收到了一个错误:

Cannot invoke 'callFunctionInBackground' with an argument list of type 
'(String, withParameters: [String : String], block: (AnyObject!, NSError!) -> Void)

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

如果为参数插入NSMutableDictionary实例而不是使用Swift Dictionary文字,则错误消失。

尝试:

let params = NSMutableDictionary()
params.setObject( "test", forKey: "test" )

PFCloud.callFunctionInBackground("getRates", withParameters: params, block: {
    (result: AnyObject!, error: NSError!) -> Void in
    if ( error === nil) {
        NSLog("Rates: \(result) ")
    }
    else if (error != nil) {
        NSLog("error")
    }
});

我认为原因在于NSDictionary是一个Cocoa类,但是Dictionary是一个原生的Swift结构。

答案 1 :(得分:2)

PFCloud.callFunctionInBackground("funcNames", withParameters: params) {
    result, error in {
      yourCodehere
    }
}

截至2015年9月,此代码将适用于新的快速