簡體   English   中英

在Swift中從字典中獲取價值時崩潰

[英]Crash while getting value from the dictionary in Swift

我已經創建了一個字典

var tempArray1 = ["sdds","dsads"]
var tempArray2: AnyObject = ["sddsa",34,tempArray1]
var dictionary: [String:Array] = ["key1":["value1"],"key2":["value2",6,tempArray2]]

當我嘗試打印字典中的所有值時,應用程序崩潰了

let allValues = [Array](dictionary.values)
for value in allValues{
     println(value)
}

我剛剛開始用快速的語言學習字典概念。 我想知道我的方法是對還是錯。 請幫我弄清楚

由於Swift數組已關聯,因此我認為您可以在不指定數組關聯類型的情況下聲明帶有數組的類型。 我不確定為什么您不會出現編譯時錯誤。 這應該工作:

var tempArray1 = ["sdds","dsads"]
var tempArray2: AnyObject = ["sddsa",34,tempArray1]
var dictionary: [String:Array<AnyObject>] = ["key1":["value1"],"key2":["value2",6,tempArray2]]

let allValues = [Array<AnyObject>](dictionary.values)
for value in allValues{
    println(value)
}

甚至更短:

var tempArray1 = ["sdds","dsads"]
var tempArray2: AnyObject = ["sddsa",34,tempArray1]
var dictionary: [String:[AnyObject]] = ["key1":["value1"],"key2":["value2",6,tempArray2]]

let allValues = dictionary.values
for value in allValues{
    println(value)
}

您也可以嘗試

var tempArray1 = ["sdds","dsads"]  
var tempArray2: AnyObject = ["sddsa",34,tempArray1]

println("Array inside array \(tempArray2)")
    var dictionary: [String:Array] = ["key1":["value1"],"key2":["value2",6,tempArray2]]

    println(dictionary)

    let allValues = Array(dictionary.values)
    for value in allValues{
        println(value)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM