如何創建一個試圖在數組內的字典中查找對象的NSPredicate?NSPredicate - 在NSArray內查找NSDictionary內的對象
例如:
MyArray {
[0]: Dictionary {
email: [email protected]
name: John Smith
}
[1]: Dictionary {
email: [email protected]
name: Mary Davis
}
}
我如何檢查,看看是否MYARRAY包含「瑪麗·戴維斯」上的「名稱」字段?
我試圖
NSString *user = @"Mary Davis";
NSString *criteria = [NSString stringWithFormat:@"name == '%@'", user];
NSPredicate *filter = [NSPredicate predicateWithFormat:criteria];
NSArray *results = [collaborators filteredArrayUsingPredicate:filter];
和
NSString *user = @"Mary Davis";
NSString *criteria = [NSString stringWithFormat:@"name MATCHES[cd] '%@'", user];
NSPredicate *filter = [NSPredicate predicateWithFormat:criteria];
NSArray *results = [collaborators filteredArrayUsingPredicate:filter];
和
NSString *user = @"Mary Davis";
NSString *criteria = [NSString stringWithFormat:@"object MATCHES[cd] '%@'", user];
NSPredicate *filter = [NSPredicate predicateWithFormat:criteria];
NSArray *results = [collaborators filteredArrayUsingPredicate:filter];
但似乎沒有工作。我知道我可以做
for (int i=0; i (less than) myArray.count; i++){
NSDictionary *dict = [myArray objectAtIndex:i];
if ([[dict objectForKey:@"name"] isEqualToString:user])
return ;
}
和它的作品,但我需要這個作謂語,因爲我想用PFQuery queryWithClassName謂詞從Parse.com獲取數據。
是否有可能做到這一點,或者是否無望相信一個謂詞會奇蹟般地橫穿陣列?
你試過用單個'='...'name =%@' –
是的,它是一樣的。嘗試一種不同的方法,如果它有效,將會更新答案。 –