【发布时间】:2018-03-19 21:07:35
【问题描述】:
我正在执行以下代码:
let createByDicc = [
"nickname" : self.createdBy?.nickname,
"avatar" : self.createdBy?.avatar,
"id" : self.createdBy?.id
] as! [String : String]
let dicc = [
"channelId" : self.channelId!,
"createBy" : createByDicc,
"message" : self.message!,
"type" : "message",
"replyTo" : "nmartello"
] as! [String : String]
我很肯定我使用的所有变量都不为空(self.createdBy?.nickname 等已分配了一个字符串)。如果我注释掉
"createBy" : createByDicc'
它工作得很好,但如果不是我得到 Unexpectedly found nil when unwrapping an Optional value 。我需要在 Dictionary 中使用此 Dictionary 来获取我需要使用 Alamofire 调用的 WS 的有效负载,但我不确定这里有什么问题。有什么想法吗?
【问题讨论】:
-
还...
dicc应该是[String:Any],因为您正在其中加载字典 -
检查
createByDicc的定义,因为它没有被赋值 -
self.createdBy(尤其是id)的所有属性都包含字符串吗?看起来createByDicc无法转换为[String: String]类型。 -
从不(强制)将字典转换为特定类型。注释类型
let dicc : [String : String] = [ ...然后你会得到一个编译器错误,这会导致你遇到问题