2009-09-04 5 views
0

"name"と "description"を持つモデルクラスがあります。私は、valueForKeyPathを使用して検索を実行します。次に(allModelsのモデルモデル){配列内のモデルクラスのvalueForKeyPathを使用して簡単な検索を実行する方法は?

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]; 
    } 
} 
関連する問題