我已经更新到XCode 8,现在我需要将我的代码从
Swift 2转换为
Swift 3.
以前,当我想将NSDictionary转换为Dictionary时,我只写了以下内容:
let post_paramsValue = post_params as? Dictionary<String,AnyObject?>
其中post_params是NSDictionary.
但是现在使用Swift 3,我收到了这个错误:
NSDictionary is not convertible to Dictionary
为什么?改变了什么?
编辑1
我也尝试过以下方法:
let post_paramsValue = post_params as Dictionary<String,Any>
但是这给出了这个错误:
编辑2
我也尝试过以下方法:
let post_paramsValue = post_params as Dictionary<String,Any>
我声明NSDictionary而不是NSDictionary!,但它不起作用;我收到了这个错误:
编辑3
我也尝试过以下方法:
let post_paramsValue = post_params as Dictionary<String,Any>!
但是我收到了这个错误:
> Objective-C中的NSDictionary始终是非可选值.
> AnyObject在Swift 3中变成了Any.
>考虑到前两个“规则”,NSDictionary可以桥接到Dictionary
> AnyObject在Swift 3中变成了Any.
>考虑到前两个“规则”,NSDictionary可以桥接到Dictionary
let post_paramsValue = post_params as Dictionary<String,Any>
如果源NSDictionary是可选的,您可以使用Dictionary< String,Any>?还是作为?字典<字符串,不限>或者作为!字典<字符串,不限>或者作为字典< String,Any>!取决于NSDictionary的实际类型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。