Ios 具有NSPredicate筛选器问题的NSArray

Ios 具有NSPredicate筛选器问题的NSArray,ios,xml-parsing,nsdictionary,nspredicate,Ios,Xml Parsing,Nsdictionary,Nspredicate,我有一个填充了这些数据的数组 "2014-02-24 17:20:45.791 Info[5120:70b] Position 0: { "0 : 0" = Ergebniss; 12 = Identifier; "12.06.14" = Spieltag1; "Brasilien : Kroatien" = Spielpaarung;" 这个结构是由XMLParser提供给我的。我怎样读字符串?(“巴西:克朗”=斯皮尔帕朗或0:0”=埃尔格布尼斯) 我用NSPredicate尝试了。但收到一

我有一个填充了这些数据的数组

"2014-02-24 17:20:45.791 Info[5120:70b] Position 0: {
"0 : 0" = Ergebniss;
12 = Identifier;
"12.06.14" = Spieltag1;
"Brasilien : Kroatien" = Spielpaarung;"
这个结构是由XMLParser提供给我的。我怎样读字符串?(“巴西:克朗”=斯皮尔帕朗或0:0”=埃尔格布尼斯) 我用NSPredicate尝试了。但收到一条错误消息

2014-02-24 17:20:59.679信息[5120:70b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因是:“无法解析格式字符串“spielparung”” *第一次抛出调用堆栈:

我的代码:

NSArray *filtert = [NSArray arrayWithArray:self.wmXMLParser.alleAktionen];
for (int i = 0; i<[filtert count]; i++) {
NSLog(@"Position %i: %@", i, filtert[i]);
}
NSArray *filtertNew = [filtert objectAtIndex:0];
NSString *attributeName = @"Brasilien : Kroatien";
NSString *attributeValue = @"Spielpaarung";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@", attributeName, 
attributeValue];
NSArray *result = [filtertNew filteredArrayUsingPredicate:predicate];
NSLog(@"%@", result);
NSArray*filtert=[NSArray arrayWithArray:self.wmXMLParser.alleAktionen];

对于(inti=0;i你没有数组,你有字典,所以
NSArray*filtertNew=[filtertobjectatindex:0];
应该是

NSDictionary *filtertNew = [filtert objectAtIndex:0];
然后,谓词用于筛选,但您只想访问单个键值。因此,请使用:

NSString *value = [filtertNew objectForKey:attributeName];

如果您的目标实际上是过滤
filtert
数组,那么您的谓词是适当的,但应用于错误的对象。它应该是:

NSArray *result = [filtert filteredArrayUsingPredicate:predicate];

(虽然您可能希望使用
=
而不是像谓词中的
那样使用

您确定没有交换键和值吗?