我在檢查多維數組中的值時遇到了問題。檢查多維數組中的值是否等於一個字符串swift
我在裏面創建了一個數組內的數組。
該數組被稱爲profilerdata,變量「key」是一個字符串,所以它應該是這些數組中的三個刺。
在我的日誌中的數組作爲SwiftDeferredNSArray,我認爲是第一個問題,因爲我讀過這是一個非可變數組。
var newKeyArray = [[key],[String](),[""]]
for thing in dataArray as! [[String: AnyObject]] {
newKeyArray[1].append("0")
}
print(newKeyArray)
profilerData.append(newKeyArray as AnyObject)
然後我嘗試和數組中讀出的值,像這樣:
var n = 1
while n <= elementArray.count {
if profilerData[n][0] as! String == headertitle {
print("it matches")
} else {
print("it does not match")
}
n += 1
}
變量「headertitle」是一個字符串太多,但在運行此我得到一個錯誤:
Could not cast value of type 'Swift._SwiftDeferredNSArray' (0x104ce8040) to 'NSString' (0x101f97c60).
這個錯誤是發生在這一行
if profilerData[n][0] as! String == headertitle {
非常感謝任何幫助,
p.s.請簡單解釋一下,因爲我是Swift的新手。
你能解釋爲什麼你將'newKeyArray'轉換爲'AnyObject'嗎?另外,您能否更準確地引用錯誤消息並解釋它發生了什麼? – matt
我添加了這些細節,我試圖將它轉換爲字符串,但我得到一個錯誤「無法轉換類型的值[[String]]'鍵入'強制字符串'」或只是讓它附加(newKeyArray),它給我錯誤「參數類型'[[String]]'不符合預期類型'AnyObject'」 – Ray