我正在尝试创建一个返回多个值的Cloud Code函数。现在我正在做的是
response.success({val1 : scores1, val2: scores2});
根据Cloud Code记录一切顺利。但是我不知道当我在Swift代码中处理函数时,我应该将它转换为什么样的对象。
PFCloud.callFunctionInBackground("myFunction", withParameters: ["value" : 1) { (object:AnyObject?, error:NSError?) -> Void in
//what I should cast object for
}
我也有一个想法,我可能是一个错误的方法,因为我基本上试图找到一个javascript对象的Swift等价物。如果是这样,还有其他方法可以从Cloud Code函数返回多个值吗?
当我打印对象时,我的控制台日志中有以下内容。
Optional({
poetry = 1;
rap = 9;
})
答案 0 :(得分:0)
只返回一个对象,该对象具有每个返回值或值数组或字典(或任何浮动您的船;)的属性,并在客户端上反序列化它。这样你只有一个返回值,包含你需要方便地按摩到对象/列表/字典/等等所需的所有数据......
PFCloud.callFunctionInBackground("myFunction", withParameters: ["value" : 1) { (object:AnyObject?, error:NSError?) -> Void in
if let values = object as! [String:Int] {
// Do something
}
}
应该有效
答案 1 :(得分:0)
好的,那么你的对象是一个字典可选......你可以使用这个代码:
if let responseJSON: [String: Int] = object as? [String: Int] {
let poetryValue: Int = object["poetry"] as Int
let rapValue: Int = object["rap"] as Int
}