如何通过Swift 3获取字典中单值的不同键

时间:2018-01-17 06:37:33

标签: ios swift string dictionary nsdictionary

我有一个可点击的UILabel 标签文字显示所有字典值 然后当我点击时,我想使用值来检查键 但是,如果我只有一个值,如何将键分隔到每个不同的值标签。

Image like this.

//Dictionary Data
self.finalDic = ["11defba4d092ggf00e0fdb5": "@user5 ", "114defba4d092ggf00e0fdb6": "@user6 ", "114defba4d092ggf00e0fdb1": "@user1 ", "114defba4d092ggf00e0fdb3": "@user1 ", "114defba4d092ggf00e0fdb4": "@user4 ", "114defba4d092ggf00e0fdb2": "@user1 "]

当我点击第一个@ user1时,我会得到一个键(114defba4d092ggf00e0fdb1)。
然后我点击第二个@ user1,我将得到另一个键(114defba4d092ggf00e0fdb3)。
最后我点击第三个@ user1,我将得到最后一个键(114defba4d092ggf00e0fdb2)。

如何将它们分发到其他标签?

label.handleMentionTap({ (string) in

        let keys = self.finalDic.allKeys(forValue: "@\(string) ")
        if keys.count > 1 {
            print("--> keys > 1 : \(keys)")
        }else{
            print("--> keys: \(keys)")
        }
})

1 个答案:

答案 0 :(得分:0)

您还可以制作具有多个键值对的数组,并且您可以为标签指定标签,然后您可以直接根据标记获取值。

所以你的msbuild "ProjectName.csproj" /target:publish /p:Configuration=Release;PublishDir=D:\TestPublishFolder 将是这样的:

dataArray

如果您可以运行for循环来显示标签上的所有值:

let dataArray = [ ["11defba4d092ggf00e0fdb5": "@user5 "], ["114defba4d092ggf00e0fdb6": "@user6 "], ["114defba4d092ggf00e0fdb1": "@user1 "], ["114defba4d092ggf00e0fdb3": "@user1 "], ["114defba4d092ggf00e0fdb4": "@user4 "], ["114defba4d092ggf00e0fdb2": "@user1 "]]

点击手势,您可以获取标签的标签,这样您就可以根据标签从dataArray获取点击值。