【发布时间】:2018-06-25 23:19:10
【问题描述】:
我有一个可点击的 UILabel。
标签文本显示所有字典值。
然后,当我单击时,我想使用 value 来检查键。
但是如果我只有一个值,如何将每个不同值标签的键分开。
//Dictionary Data
self.finalDic = ["11defba4d092ggf00e0fdb5": "@user5 ", "114defba4d092ggf00e0fdb6": "@user6 ", "114defba4d092ggf00e0fdb1": "@user1 ", "114defba4d092ggf00e0fdb3": "@user1 ", "114defba4d092ggf00e0fdb4": "@user4 ", "114defba4d092ggf00e0fdb2": "@user1 "]
当我点击第一个@user1时,我会得到一个key(114defba4d092ggf00e0fdb1)。
然后我点击第二个@user1,我会得到另一个密钥(114defba4d092ggf00e0fdb3)。
最后我点击第三个@user1,我会得到最后一个key(114defba4d092ggf00e0fdb2)。
我应该怎么做才能将它们分发到不同的标签?
label.handleMentionTap({ (string) in
let keys = self.finalDic.allKeys(forValue: "@\(string) ")
if keys.count > 1 {
print("--> keys > 1 : \(keys)")
}else{
print("--> keys: \(keys)")
}
})
【问题讨论】:
-
为什么不交换地图中的键和值?如果是这样,你得到了价值 ref,不需要做一个关键计数器
-
那么您是只有一个标签来保存所有用户,还是有多个标签,每个标签都用于一个用户?
-
好的,我想显示多个标签(@user1),它们有不同的键。
-
@vg0x00 ["@user1": "114defba4d092ggf00e0fdb1", "@user1":"114defba4d092ggf00e0fdb3", "@user1":"114defba4d092ggf00e0fdb2"] 就像这样有相同的密钥?合法吗?
-
您不需要在标签中显示所有键值,例如:“@user1.(hash1)”、“@user1.(hash2)”、“@user1.(hash3 )" 只显示前 5 个字符:"@user1, @user1, @user1"
标签: ios swift string dictionary nsdictionary