2009-09-04 13 views
0

我有一個模型類具有「名稱」和「描述」。我會使用valueForKeyPath執行搜索。如何使用數組中模型類的valueForKeyPath執行簡單搜索?

例如,使用循環我會執行搜索這樣:

的(在allModels型號model){

if (mode.name == "name" || [absoluteURL rangeOfString:@"my_substring"].location == NSNotFound) { 
    // put this model in a result list 
} 

}

現在,我該怎麼做相同的像這樣?

的NSArray *結果= [allModels valueForKeyPath:@ 「[收集] {名稱== @」 名稱「}」];

回答

2

可以使用NSPredicate本(簡化下面的示例)可以添加多個。謂詞來實現你想要的東西。

NSMutableArray *matchingItems = [NSMutableArray array]; 

NSPredicate *pred = [NSPredicate predicateWithFormat:@"mode.name is[cd] %@", @"name"]; 

for (Model *model in allModels) { 
    if ([pred evaluateWithObject:model]) { 
     [matchingItems addObject:model]; 
    } 
} 
相關問題