搜索NSDrray的NSArray

时间:2011-12-01 11:33:36

标签: iphone objective-c ios nsarray nsdictionary

我有一个带字典的数组, 并需要通过数组搜索

并修改由字典中的对象名称找到的数组中的特定字典。

因此,创建可变数组,字典,并向数组中添加许多字典

       ...{ self.bloquesArray = [[[NSMutableArray alloc] init]autorelease];  
    [self createBloqueDicto];
    [self.unBloqueDicto setObject:@"easySprite" forKey:@"Name"];
    [self.unBloqueDicto setObject:@"290" forKey:@"X"];
    [self.unBloqueDicto setObject:@"300" forKey:@"Y"];

    [self.bloquesArray addObject:self.unBloqueDicto];

}

- (void)createBloqueDicto {
self.unBloqueDicto = [[[NSMutableDictionary alloc] init] autorelease];
}

所以现在我需要用

更改字典中的键X和Y的值

key:Name = easySprite 所以需要找到特定的字典[其他字典有不同的名称值]

我该怎么办呢?

谢谢!

1 个答案:

答案 0 :(得分:18)

执行以下操作以获取匹配的词典

NSPredicate *p = [NSPredicate predicateWithFormat:@"Name = %@", @"easySprite"];
NSArray *matchedDicts = [bloquesArray filteredArrayUsingPredicate:p];

现在 matchedDicts 包含 @“easySprite”的字典,用于键 @“Name”。从那里做其余的事情(改变X和Y)。