0

我试图弄清楚(如果可能的话)如何使用 switch 语句而不是 for 循环来读取 NSDictionay 键/值。

目前我正在这样做

for (id key in seriesData) {

    NSLog(@"key: %@, value: %@", key, [seriesData objectForKey:key]);

}

但是,我希望它是一个 switch 语句,我在其中查找密钥,如果找到密钥,那么我将该值放入稍后将使用的变量中。

希望这是有道理的,任何帮助将不胜感激。

4

2 回答 2

3

Cswitch语句仅适用于类似整数的键(包括enum)。不能switch与 Objective-C 对象一起使用,例如在NSDictionary.

于 2012-07-24T04:01:51.193 回答
0

如果您熟悉使用块,则可以使用基于块的枚举方法 enumerateKeysAndObjectsUsingBlock 之一。

另外,如果您要“过滤”键;由于存在特定的键子集(例如以“A”开头的键),您可以使用其中一种谓词方法,例如 keysOfEntriesPassingTest。

所有这些都记录在NSDictionary类参考中。

于 2012-07-24T04:15:04.923 回答