【发布时间】:2015-09-24 12:58:44
【问题描述】:
最近我将 Xcode 更新到 7,它包含 swift 2.0 编译器。在此之前,我使用旧版本的 swift 制作了我的项目。在那个版本中,我创建了NSMutableDictionary,如下所示
let dictParams:NSMutableDictionary? = ["test" : "test",
"username" : txtEmail.text,
"password" : txtPassword.text,
"version" : "1.0",
"appId" : "1",
"deviceId" : "fasdfasdfrqwe2345sdgdfe56gsdfgsdfg"
];
在上面的代码中txtEmail.text 和txtPassword.text 是我的文本字段,并在运行时填充该值。
此代码在旧版本的 swift 中正常工作,但在更新到 swift 2.0 后,它给了我一个类似下面的错误
Cannot convert value of type '[String : String?]' to specified type 'NSMutableDictionary?'
有什么问题请指教。
【问题讨论】:
-
提示:
[String : String?]中的问号是相关的。txtEmail.text是什么类型的? -
你确定你需要一个 NSMutableDictionary 吗?为什么不使用原生 Swift 字典?
-
txEmail.text 或 txtPassword.text,它们是可选值吗?如果是这样,您是否介意打开它们并检查错误是否仍然存在。
-
@iamyogish 这就是问题所在。感谢更新。