我有一本词典,在我的字典里有一本字典,它的价值是字典,如下所示:
<dict>
<key>Antenne Bayern</key>
<dict>
<key>shortcut</key>
<true/>
<key>url</key>
<string>http://www.antenne.de/webradio/antenne-aac.pls</string>
</dict>
<key>Technobase.fm</key>
<dict>
<key>url</key>
<string>http://listen.technobase.fm/tunein-aacplus-pls</string>
<key>shortcut</key>
<false/>
</dict>
</dict>现在,我只想读url键"Antenne Bayern“,如果它的字典是”快捷方式= 1“,我这样做:
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"SenderDatabase" ofType:@"plist"];
NSDictionary *senderDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSDictionary *bli = [[NSDictionary dictionaryWithDictionary:senderDictionary] valueForKey:@"Antenne Bayern"];
NSLog(@"%@", bli);
NSString *check = [bli valueForKeyPath:@"shortcut"];但我不想对字典里的每一项都这么做。我只想返回像"Antenne“这样的名字,如果”快捷方式= 1“。你能帮帮我吗?
发布于 2014-03-29 13:41:25
您希望根据关联值的测试筛选字典的键。使用keysOfEntriesPassingTest:进行此操作。编写测试以检查shortcut的值。
撇开:
在这一行:
[[NSDictionary dictionaryWithDictionary:senderDictionary] valueForKey:@"Antenne Bayern"];[NSDictionary dictionaryWithDictionary:senderDictionary]应该被简单地替换为senderDictionary,因为创建一个新的字典几乎立即就会被销毁是毫无意义的。
https://stackoverflow.com/questions/22731767
复制相似问题