Parse.com - 从云代码函数返回多个值
Posted
技术标签:
【中文标题】Parse.com - 从云代码函数返回多个值【英文标题】:Parse.com - Returning multiple values from a Cloud Code function 【发布时间】:2015-08-24 18:28:13 【问题描述】:我正在尝试创建一个返回多个值的云代码函数。现在我正在做的是
response.success(val1 : scores1, val2: scores2);
根据云代码日志,一切进展顺利。但是我不知道当我在我的 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;
)
【问题讨论】:
相当于 JSON 的 Swift 是字典...请执行 NSLog("(object)") 并在此处发布输出...比我可以说你如何转换这个对象 用所需信息更新了问题g 好吧,谢谢,我知道了,我需要将其转换为Dictionary<String, Int>
。我会接受它作为答案,只需发布它。
是的,就是这样 :-) 我已经向您发布了正确的代码以及如何访问值作为答案...
【参考方案1】:
好的,那么您的 Object 是 Dictionary Optional... 您可以使用此代码:
if let responseJSON: [String: Int] = object as? [String: Int]
let poetryValue: Int = object["poetry"] as Int
let rapValue: Int = object["rap"] as Int
【讨论】:
【参考方案2】:只需返回一个对象,该对象具有每个返回值的属性或一组值或一个字典(或任何漂浮的东西;))并在客户端反序列化它。这样,您只有一个返回值,其中包含您需要方便地按摩到对象/列表/字典/任何东西中的所有数据......
PFCloud.callFunctionInBackground("myFunction", withParameters: ["value" : 1) (object:AnyObject?, error:NSError?) -> Void in
if let values = object as! [String:Int]
// Do something
应该工作
【讨论】:
我已经在这行中这样做了response.success(val1 : scores1, val2: scores2);
我不知道如何去实现它。以上是关于Parse.com - 从云代码函数返回多个值的主要内容,如果未能解决你的问题,请参考以下文章
预期返回“布尔”parse.com 推送通知的函数中缺少返回