上下文类型'任何'不能与字典文字Swift一起使用

时间:2018-04-27 05:42:42

标签: arrays swift

我在两个文件中使用此代码,但只有一个文件显示此错误。

  

上下文类型'任何'不能与字典文字一起使用

为什么呢?这2个代码是一样的,为什么只有一个得到错误?这段代码有什么问题?

let userId = user!["userId"] as! String
let bookCid = NSUUID().uuidString
let param = ["message":"addAccBook",
                 "accountbook":
                    [
                        "bookcid": bookCid!,
                        "accbookname": "",
                        "accbooktype": "",
                        "category": "",
                        "user": userId
    ]] as [String:Any]

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

该错误具有误导性。实际错误是

  

无法强制解包非可选类型'字符串'

的值

uuidString会返回非可选String,因此您不得添加感叹号

let userId = user!["userId"] as! String
let bookCid = NSUUID().uuidString

let param : [String:Any] = ["message":"addAccBook",
                            "accountbook":
                               ["bookcid": bookCid,
                                "accbookname": "",
                                "accbooktype": "",
                                "category": "",
                                "user": userId]]

而不是桥接我建议注释它的类型。