簡而言之,我創建了一個由Integer和一個字符串數組組成的對象。 我把東西放到整數和數組中 我把對象放到字典中
我得到了一個新的對象引用並試圖追加到數組。這是它失敗快速參考與數組和字典的值
//: Playground - noun: a place where people can play
class IdAndArray {
var id: Int = 0
var stringArray:[String] = [String]()
}
var dict:[Int:IdAndArray] = [Int:IdAndArray]()
var testRec = IdAndArray()
testRec.id = 1
testRec.stringArray.append("1 line")
dict[56] = testRec
var ref = (dict[56]?.stringArray)!
print(ref.count) // 1
ref.append("2 line")
var anotherRef = (dict[56]?.stringArray)!
print(anotherRef.count) // 1 instead of 2???
我懷疑這可能與此有關: Implementing a multimap in Swift with Arrays and Dictionaries
我也懷疑這是值得做的自選項目,但我強迫與解包!
爲了記錄,我來自java背景。
感謝您的教育!第二部分完美地工作,但是「(dict [56]?。stringArray)!. append(」2 line「)」會導致「錯誤:不能在操場上使用類型爲'[String]'的不可變值的變異成員」 xcode 7.01/swift 2.0 –
嗯。試試'dict [56]?。stringArray.append(「2 line」)'。 – vacawama
這個技巧。再次感謝! –