swift – 使用AnyObject时Bool被视为int

swift – 使用AnyObject时Bool被视为int,第1张

概述我正在使用Dictionary< String,AnyObject>类型的参数列表在Swift iOS应用程序中保存一些最终将传递给Web服务的参数.如果我要将Bool保存到此字典然后打印它,它将显示为“Optional(1)”,因此它将被转换为int.我不能发送一个int,需要这个“真实”.示例代码如下. var params = Dictionary<String,AnyObject>()p 我正在使用Dictionary< String,AnyObject>类型的参数列表在Swift iOS应用程序中保存一些最终将传递给Web服务的参数.如果我要将Bool保存到此字典然后打印它,它将显示为“Optional(1)”,因此它将被转换为int.我不能发送一个int,需要这个“真实”.示例代码如下.
var params = Dictionary<String,AnyObject>()params["tester"] = trueprintln(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.

文档:
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TypeCasting.html#//apple_ref/doc/uid/TP40014097-CH22-XID_448

在这种情况下,你似乎需要一个字典,服务期望“真”而不是bool值.

我建议创建一个函数将bool值转换为String并使用它来设置params [“tester”].

例:

param["tester"] = strFromBool(true)

然后定义函数strFromBool以接受bool参数并根据其值返回“true”或“false”.

总结

以上是内存溢出为你收集整理的swift – 使用AnyObject时Bool被视为int全部内容,希望文章能够帮你解决swift – 使用AnyObject时Bool被视为int所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存