您只需使用它的String
键删除该项目。
images.removeValueForKey("someString")
编辑: 每点评:
我不完全明白你的意思。我将重新创建你的场景。但我会使用Strings
而不是UIImage's
,因为我在命令行上执行此操作。
1> var images = [String:String]()
images: [String : String] = 0 key/value pairs
2> images["one"] = "someting 1 2 3"
3> images["two"] = "something else 4 5 6"
4> images
$R0: [String : String] = 2 key/value pairs {
[0] = {
key = "one"
value = "someting 1 2 3"
}
[1] = {
key = "two"
value = "something else 4 5 6"
}
}
现在,根据您的示例,我想删除一个项目。
5> images.removeValueForKey("one")
$R1: String? = "someting 1 2 3"
6> images
$R2: [String : String] = 1 key/value pair {
[0] = {
key = "two"
value = "something else 4 5 6"
}
}
EDIT2:
看完后你赞扬你的示例代码第二次,我想你是误会你有什么。
你有一个字符串键的字典。与UIImages以一对一的关系配对。
所以,如果你删除一个项目的基础上的关键,你删除它的唯一属性是一个图像。
现在,由于您在原始问题中提到了数组,所以我认为这就是您想要的。
1> var images = [String:[String]]()
对您而言,这将是`变种图像=字符串:[UIImage的]
现在你有每个键图像的阵列。
images: [String : [String]] = 0 key/value pairs
1> images["one"] = [String]
2> images["one"]!.append("first")
3> images
$R0: [String : [String]] = 1 key/value pair {
[0] = {
key = "one"
value = 1 value {
[0] = "first"
}
}
}
4> images["one"]!.append("second")
5> images
$R1: [String : [String]] = 1 key/value pair {
[0] = {
key = "one"
value = 2 values {
[0] = "first"
[1] = "second"
}
}
}
6> images["one"]!.removeAtIndex(0)
$R2: String = "first"
7> images
$R3: [String : [String]] = 1 key/value pair {
[0] = {
key = "one"
value = 1 value {
[0] = "second"
}
}
}
字典是无序的,所以这个功能可能会给予回复意想不到的结果。 – tktsubota
我看到swift有这个选项:removeAtIndex(index:DictionaryIndex)。但我不知道如何使用它。 –
laser2302
在这种情况下,我相信DictionaryIndex只是字符串的键入类型,即字典的键类型。 –