我正在將JSON數據轉換爲結構,然後將該結構添加到數組中,但我在訪問結構中的值時遇到問題。如何檢索結構中的值swift
首先我有我的結構:
struct Skill {
var name: String
init(dictionary: [String: Any]){
name = dictionary["name"] as! String
}
}
然後在另一個班,我將我的JSON數據到結構並將其添加到一個數組。我可以訪問for循環內的值(即skillDict.name),但我無法從另一個類的數組訪問它們。
var skillArray: NSMutableArray = []
fun getJSON(){
….
if let skill : NSArray = jsonRoot["skills"] as? NSArray
{
for each in skill{
var skillDict = Skill(dictionary: each as! [String : Any])
skillArray.add(skillDict)
}
}
當我運行從另一大類下面的代碼,我得到打印的第一行這樣的錯誤:「這個類不是鍵值編碼兼容的鍵名」。我也嘗試使用第二行打印行正確打印所有我的對象,但我無法訪問名稱值。
for each in skillArray{
print(skillArray.value(forKey: "name"))
print(each) //this line will print correctly, so I know the correct data is in the array
}
我也嘗試使用下面的代碼,for循環的內外:
print(skillArray.map { $0["name"] as? String })
但我得到一個編譯器錯誤「鍵入任何沒有標會員」
如何正確訪問名稱值?
這很好地工作。謝謝您的幫助! – Wallboy
不客氣! (不要忘記接受答案) – norders