![](/img/trans.png)
[英]Swift - Nil when using 'as! Dictionary<String, AnyObject>'
[英]Assigning a dictionary of type [String:AnyObject] to [String: String] gives nil error
嘿,我是Swift和IOS開發的新手。 我面臨一個被大量搜索的問題。 但是沒有任何解決方案。 我有[String:AnyObject]類型的字典,並想將其分配給[String:String]類型的其他字典。 Xcode顯示了一個錯誤,它是“致命錯誤:在展開可選val時意外發現nil”,我檢查了三倍,發現沒有nil值。 下面是我的代碼片段字典在這里
let dictFormData = ["name": endorsement.name,
"designation":endorsement.designation,
"location": endorsement.location,
"region": endorsement.region,
"effectiveDateString":endorsement.effectiveDate,
"marriageDateString": "ss" ,
"genderId": String(format: "%ld", selectedGenderLookUpId),
"relationId": String(format: "%ld", selectedRelationLookUpId),
"plan": "ss",
"employeeId": AICLPolicyModel.getSelectedPolicy()?.employeeID as Any,
"requestTypeId": 35,
"policyId": AICLPolicyModel.getSelectedPolicy()?.policyID as Any,
"isEmployee": isemployee,
"filePath":"ss",
"fileName": "ss",
"empRemarks": endorsement.remarks,
"hrRemarks": "ss",
"adminRemarks": "ss",
"memberCode": AICLPolicyModel.getSelectedPolicy()?.memberCode as Any,
"requestStatusId": 32,
"customerId": AICLPolicyModel.getSelectedPolicy()?.clientID as Any
]
這是將一本詞典分配給另一本詞典。
let formData = (dictFormData as? [String : String])!
在這一行,它再次顯示錯誤,我很確定沒有nil值。
類型[String:AnyObject]
字典不能向下轉換為[String:String]
因為類型不兼容。
因此dictFormData as? [String:String]
dictFormData as? [String:String]
計算結果為nil
因為有條件的向下轉換失敗-您然后用!
強制解開該nil
!
就會崩潰
顯然,您正在將非String值放入dictFormData
,因此您將無法使用簡單的向下轉換來獲得[String:String]
字典。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.