您只有一个
ItemSpecifics
-您将不断更新该实例的属性并将其添加到数组中,因此最终,您的数组将保存对该实例的多个引用,并且该实例具有您分配的最后一个值。
您可以使您的代码更加“迅速”-使用
struct
而不是一个类,它提供了不变性;您通常不应该使用那种形式的“私有属性”;您可以将属性设置为只读,但使用结构,您不需要任何方式。
另外,不要使用
NS...
基金会在SWIFT课程,除非是不可避免的。
struct ItemSpecifics {
let name: String
let value: String
}
if let getItemSpecifics = item["ItemSpecifics"] as? [String:Any],
let getNameValueList = getItemSpecifics["NameValueList"] as? [[String:Any]] {
for nameValueList in getNameValueList {
if let name = nameValueList["Name"] as? String,
let value = nameValueList["Value"] as? String {
let newItem = ItemSpecifics(name: name, value: value)
self.itemSpecificsArray.append(newItem)
}
}
}