本文介绍了布尔使用AnyObject时被视为INT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的类型词典&LT的PARAMS名单;弦乐,AnyObject>
在斯威夫特的iOS应用程序来保存一些参数,最终将传递给web服务。如果我是一个布尔值保存到这个字典,然后打印出来,它显示为可选(1),所以它被转换为int。我无法发送一个int和需要这是真。下面的示例code。
VAR PARAMS =字典<弦乐,AnyObject>()
PARAMS [测试] =真
的println(PARAMS [测试])
我怎样才能得到这个保存为一个实际的真/假值,而不是作为一个整数?
注意事项
这正与AFNetworking使用,这样的参数都要求是形式 AnyObject!
的AFNetworking结构如下:
manager.GET(小于#URLString:串#>中参数:< #AnyObject#>中成功!<#((AFHTT prequestOperation !,AnyObject) - GT;无效)##(AFHTT prequestOperation!AnyObject) - GT;无效#>中失败:!!!<#((AFHTT prequestOperation!NSError) - >无效)##(AFHTT prequestOperation!NSError) - GT;!虚空#>)
在参数的说法就是我传入词典<弦乐,AnyObject方式>
为
解决方案
而不是:
VAR PARAMS =字典<弦乐,AnyObject>()
尝试:
VAR PARAMS =字典<弦乐,任何>()
In this case it appears you need a Dictionary and the service is expecting "true" as opposed to the bool value.
I recommend creating a function to convert your bool value to a String and using that to set your params["tester"].
Example:
param["tester"] = strFromBool(true)
and then define the function strFromBool to accept a bool parameter and return "true" or "false" depending on its value.
这篇关于布尔使用AnyObject时被视为INT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!