将NSDictionary的所有键作为NSArray获取

90

是否可能从特定的NSDictionary中获取所有键,并将其作为单独的NSArray返回?

3个回答

191

只需使用

NSArray*keys=[dict allKeys];

一般来说,如果你想知道一个具体类是否有某个方法,请查阅苹果官方文档。在这种情况下,请看NSDictionary类参考文档。浏览所有的方法,你会发现很多有用的方法。


3
获取第一个键的代码为:NSString *firstKey = [dict allKeys][0];。 - Mazen Kasser
2
@MazenKasser firstObject 是更安全的解决方案 - 如果字典没有任何键,应用程序不会崩溃:dict.allKeys.firstObject; - Islam
1
allKeys 返回的键的顺序是未定义的... 因此 allKeys.firstObject 或 allKeys[0] 都是不安全的。 - Bradley Thomas

17

可以实现。使用allKeys方法:

NSDictionary *yourDictionary;
NSArray * yourKeys
yourKeys = [yourDictionary allKeys];

3

如果您想获取所有键和值,请执行以下操作:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接