我知道我需要绑定我的物品以进行包装,但是问题是我的价值没有得到确认,而是存在。
这是我的代码:
surveyW.karmaWin = Int(endedSurvey["karma"].string!)
endedSurvey
是我的JSON
后端的数组 字典。我收到一个Unexpectedly found nil while unwrapping an Optional value
错误。
我指定我强制展开以显示您的问题。
问题是我的数组包含karma
值。我向您显示值的屏幕:
因此我们可以看到该值存在。为什么我得到Unexpectedly found nil...
?
答案 0 :(得分:3)
"karma"
中包含的值不是String
。您正在尝试使用SwiftyJSON强制转换它,但它告诉您它没有nil。您首先需要按原样提取值-.int
,然后根据需要将其转换为其他值。
surveyW.karmaWin = endedSurvey["karma"].int
答案 1 :(得分:0)
endedSurvey [“ karma”]是一个不是字符串的Integer,并且解开可选内容的一种好方法是:
component
答案 2 :(得分:0)
您可以使用intValue,因为SwiftyJSON具有两种用于获取值的“获取器”:可选和非可选
.string和.int是值的String和Int表示形式的可选getter,因此您必须在使用前将其拆开
if let fbId = fbJson["id"].string { print(fbId) }
如果您100%确保总会有一个值,则可以通过使用非可选的getter来使用等价于“强制展开”的功能,如果不再需要,则不需要:
let fbId = fbJson["id"].stringValue
在您的代码中:
surveyW.karmaWin = endedSurvey["karma"].intValue