我有以下字典可選結合解開不字典
var menuItems: [[String: String?]] = [
["name": "Home", "identifier": "homeController"],
["name": "Page 2", "identifier": "page2"],
["name": "Page 3", "identifier": "page3"]]
現在我翻翻字典,使用下面的代碼
var names: [String] = [String]()
for item in menuItems
{
if let name = item["name"]
{
names.append(name)
}
}
if let name = item["name"]
應該拆開包裝和名稱分配給循環name
不變。指定作品但展開不會發生。
names.append(name)
拋出異常Value of optional type 'String?' not unwrapped; did you mean to use '!' or '?'?
爲什麼不item["name"]
得到解開?
下標是否已經返回一個可選值?!所以你要返回類似'String ??'而不是'String?'。 – DevAndArtist
@DevAndArtist I [見](http://i.imgur.com/4CyZFMm.png)。謝謝! – Pepijn
這可以用'if let value = item [「name」],name = value'解開。 – vacawama