最新版本的swift:[String,String?]不能转换为Dictionary <string,anyobject =“”>

时间:2015-09-22 07:55:51

标签: ios xcode swift

我昨天更新了我的xcode到新版本。我被问到是否要将我的所有文件更新到最新版本的swift。遗憾的是,我点击了“是”,现在正在修复一大堆修复工作。我正在努力解决词典的新问题,我有一种方法可以使用词典吗?作为一个参数,我现在必须更改为字典,因为所有类型的字典都传递到此方法。问题是我现在告诉我的一些词典,如下面的一个,他们无法转换,我如何将其更改为词典?我已经尝试过明显的了!最后的字典,但它很简单,不会让它转换...

let params:Dictionary<String, AnyObject>? = ["Username" : userName!.text, "Password" : "" + password!

2 个答案:

答案 0 :(得分:0)

原因是UILabel的{​​{1}}属性是可选的,所以你必须打开它

let params : Dictionary<String, AnyObject> = ["Username" : userName!.text!, "Password" : "" + password!.text!]

但为什么要将一个明显的非可选文字字典声明为可选字典?

答案 1 :(得分:-3)

由于值是可选的,您必须声明如下:

let params:Dictionary<String, AnyObject?>? = ...