【发布时间】:2017-11-17 05:39:09
【问题描述】:
我刚接触 Swift 编程。我正在开发一个应用程序,其中我需要将一组对象保存到一个字典中,这意味着字典“对象数组”应该是我的值,“ID”应该是我的键。
我的数组中包含 2 个元素,如何使用任何唯一键从字典中保存和检索。请给我建议。谢谢!
【问题讨论】:
标签: ios iphone dictionary swift3 nsmutablearray
我刚接触 Swift 编程。我正在开发一个应用程序,其中我需要将一组对象保存到一个字典中,这意味着字典“对象数组”应该是我的值,“ID”应该是我的键。
我的数组中包含 2 个元素,如何使用任何唯一键从字典中保存和检索。请给我建议。谢谢!
【问题讨论】:
标签: ios iphone dictionary swift3 nsmutablearray
你可以这样做
var myDict = Dictionary<String, Any>()
myDict = ["myKey": myArrayObjectName as! VideoRangeInfo]
现在您可以使用字典的 "myKey" 访问您的数组,如下所示,
print("My array = \(myDict["myKey"] as! VideoRangeInfo)")
更新:我认为你的数组是客观的 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 dictionary = 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
【讨论】: