swift – 如何将NSDictionary转换为Dictionary?

swift – 如何将NSDictionary转换为Dictionary?,第1张

概述我已经更新到XCode 8,现在我需要将我的代码从 Swift 2转换为 Swift 3. 以前,当我想将NSDictionary转换为Dictionary时,我只写了以下内容: let post_paramsValue = post_params as? Dictionary<String,AnyObject?> 其中post_params是NSDictionary. 但是现在使用Swift 3 我已经更新到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>

但是这给出了这个错误:

'; did you mean to use as! to force downcast?" src="https://i.stack.imgur.com/wXWJ9.png">

编辑2

我也尝试过以下方法:

let post_paramsValue =  post_params as Dictionary<String,Any>

我声明NSDictionary而不是NSDictionary!,但它不起作用;我收到了这个错误:

'; did you mean to use as! to force downcast?" src="https://i.stack.imgur.com/qMeVH.png">

编辑3

我也尝试过以下方法:

let post_paramsValue =  post_params as Dictionary<String,Any>!

但是我收到了这个错误:

!'; did you mean to use as! to force downcast?" src="https://i.stack.imgur.com/GaeA8.png">

> Objective-C中的NSDictionary始终是非可选值.
> AnyObject在Swift 3中变成了Any.
>考虑到前两个“规则”,NSDictionary可以桥接到Dictionary
let post_paramsValue = post_params as Dictionary<String,Any>

如果源NSDictionary是可选的,您可以使用Dictionary< String,Any>?还是作为?字典<字符串,不限>或者作为!字典<字符串,不限>或者作为字典< String,Any>!取决于NSDictionary的实际类型

总结

以上是内存溢出为你收集整理的swift – 如何将NSDictionary转换为Dictionary?全部内容,希望文章能够帮你解决swift – 如何将NSDictionary转换为Dictionary?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存