如何获取 NSDictionary 的密钥 [重复]

Posted

技术标签:

【中文标题】如何获取 NSDictionary 的密钥 [重复]【英文标题】:How to get key of NSDictionary [duplicate] 【发布时间】:2016-08-12 04:37:03 【问题描述】:

我正在使用 Firebase 并获取快照,当我打印它时,我得到了这个:


    "-KOx03Q1f1Tl9AiWxNlg" =     
         message = ".";
         senderId = B6WI1xkEBXd4cwYkYFQRneEvPBV2;
    ;

我要获取密钥,-KOx03Q1f1Tl9AiWxNlg 密钥的值。我不知道如何得到它。我可以打印它! NSDictionary 它看起来完全一样,所以它似乎是那种形式......但我不知道 NSDictionary 项目有这样的键或名称。谁能解释一下?

【问题讨论】:

***.com/a/37853809/4601170 【参考方案1】:

您正在使用NSDictionary,因此您可以使用NSDictionaryallKeys 属性获取所有键的数组

let keys = yourDic.allKeys as! [String]

在 Swift 2.2 及更高版本中

let keys = myDictionary.keys as! [String]

注意:访问keys数组的第一个对象得到-KOx03Q1f1Tl9AiWxNlgkey。

【讨论】:

好的,这给了我这个:` let keys = snapshotDict!.allKeys as! [String] print(keys[0])`有更简单的方法还是最好的方法? 是的,您需要访问第一个对象。 你可以试试这个: let allKeys = Array(dictSelSection.keys) 它适用于 swift 4 ......并且它工作得很好......希望它有帮助......!!!

以上是关于如何获取 NSDictionary 的密钥 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何快速从 childByAutoID() 获取密钥 [重复]

我的 NSDictionary 的密钥是啥

KVC:如何测试现有密钥

打印 NSDictionary 的键而不是值

Cocoa 的 NSDictionary:为啥要复制密钥?

从 NSDictionary 中删除密钥