我正在使用Dictionary< String,AnyObject>类型的参数列表在Swift iOS应用程序中保存一些最终将传递给Web服务的参数.如果我要将Bool保存到此字典然后打印它,它将显示为“Optional(1)”,因此它将被转换为int.我不能发送一个int,需要这个“真实”.示例代码如下.
var params = Dictionary<String,AnyObject>() params["tester"] = true println(params["tester"])
如何将其保存为实际的真/假值而不是整数?
注意事项
这与AFNetworking一起使用,因此参数必须是AnyObject!
AFNetworking结构如下:
manager.GET(<#URLString: String!#>,parameters: <#AnyObject!#>,success: <#((AFHTTPRequestOperation!,AnyObject!) -> Void)!##(AFHTTPRequestOperation!,AnyObject!) -> Void#>,failure: <#((AFHTTPRequestOperation!,NSError!) -> Void)!##(AFHTTPRequestOperation!,NSError!) -> Void#>)
‘parameters’参数是我在Dictionary< String,AnyObject>中传递的内容.如.
代替:
var params = Dictionary<String,AnyObject>()
尝试:
var params = Dictionary<String,Any>()
Any can represent an instance of any type at all,including function
types.
在这种情况下,你似乎需要一个字典,服务期望“真”而不是bool值.
我建议创建一个函数将bool值转换为String并使用它来设置params [“tester”].
例:
param["tester"] = strFromBool(true)
然后定义函数strFromBool以接受bool参数并根据其值返回“true”或“false”.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。