如何从 Swift iOS 中的字典保存和检索对象数组值?

How to save and retrieve Array of Objects value from Dictionary in Swift iOS?

我刚接触 Swift 编程。我正在开发一个应用程序,其中有一组对象,我需要将其保存到一个字典中,这意味着字典 'Array of Objects' 应该是我的值,'ID' 应该是我的键。

这里有 2 个元素包含在我的数组中,我如何使用任何唯一键从字典中保存和检索。请建议我。谢谢!

你可以通过

var myDict = Dictionary<String, Any>()
myDict = ["myKey": myArrayObjectName as! VideoRangeInfo]

现在您可以使用 "myKey" 字典访问您的数组,如下所示,

print("My array = \(myDict["myKey"] as! VideoRangeInfo)")

更新: 我认为你的数组是 objective c NSMutableArray 而不是 swift Array 所以

var myDic = NSMutableDictionary()
myDic.setObject(myArrayObjectName, forKey: "myKey")

print("My array = \(myDic.object(forKey: "MyKey") as! VideoRangeInfo)")

一个简单的方法是:

struct VideoRangeInfo {
    var name: String
}

var arrayVideoRange = [
    VideoRangeInfo(name: "Name1"),
    VideoRangeInfo(name: "Name2"),
    VideoRangeInfo(name: "Name3")
]

var dictionary = [String: VideoRangeInfo]()
for obj in arrayVideoRange {
    dictionary.updateValue(obj, forKey: obj.name)
}

print(dictionary["Name1"]!)
print(dictionary["Name2"]!)
print(dictionary["Name3"]!)

节省 var 字典 = Int:String

dictionary.updateValue(value: self.arrangeVideoInfo[0]!, forKey: 1)
dictionary.updateValue(value: self.arrangeVideoInfo[0]!, forKey: 2)

得到

let value1 = dictionary[1] as! VideoRangeInfo
let value2 = dictionary[2] as! VideoRangeInfo