在 SWIFT 中使用动态 value/keys 创建可变字典
Create mutable Dictionary with dynamic value/keys in SWIFT
我需要创建一个带有动态键的字典。
最后我需要一本字典
我尝试使用:
var animDictionary:[String:AnyObject]
for position in 1...10
{
let strImageName : String = "anim-\(position)"
let image = UIImage(named:strImageName)
animDictionary.setValue(image, forKey: strImageName) //NOT WORK
//BECAUSE IT'S NOT A NSMUTABLEDICTIONARY
}
所以我尝试了:
var animMutableDictionary=NSMutableDictionary<String,AnyObject>()
for position in 1...10
{
let strImageName : String = "anim-\(position)"
let image = UIImage(named:strImageName)
animMutableDictionary.setValue(image, forKey: strImageName)
}
但是我没有找到如何将我的 NSMutableDictionary 转换为字典的方法。我不确定这是否可能。
在 Apple 文档中,我发现:
我不知道是否可以在我的情况下使用它。
Xcode 11 • Swift 5.1
您需要在向字典添加值之前对其进行初始化:
var animDictionary: [String: Any] = [:]
(1...10).forEach { animDictionary["anim-\([=10=])"] = UIImage(named: "anim-\([=10=])")! }
我需要创建一个带有动态键的字典。
最后我需要一本字典
我尝试使用:
var animDictionary:[String:AnyObject]
for position in 1...10
{
let strImageName : String = "anim-\(position)"
let image = UIImage(named:strImageName)
animDictionary.setValue(image, forKey: strImageName) //NOT WORK
//BECAUSE IT'S NOT A NSMUTABLEDICTIONARY
}
所以我尝试了:
var animMutableDictionary=NSMutableDictionary<String,AnyObject>()
for position in 1...10
{
let strImageName : String = "anim-\(position)"
let image = UIImage(named:strImageName)
animMutableDictionary.setValue(image, forKey: strImageName)
}
但是我没有找到如何将我的 NSMutableDictionary 转换为字典的方法。我不确定这是否可能。
在 Apple 文档中,我发现:
我不知道是否可以在我的情况下使用它。
Xcode 11 • Swift 5.1
您需要在向字典添加值之前对其进行初始化:
var animDictionary: [String: Any] = [:]
(1...10).forEach { animDictionary["anim-\([=10=])"] = UIImage(named: "anim-\([=10=])")! }