私が指定した基準を満たす特定のエンティティから、それらのオブジェクトをフェッチする機能があります:私は、複数のagumentsの配列を渡すと(複数の引数と「AND行動」とNSPredicate
func fetchWithPredicate(entityName: String, argumentArray: [AnyObject]) -> [NSManagedObject] {
let fetchRequest = NSFetchRequest(entityName: entityName)
fetchRequest.predicate = NSPredicate(format: "%K == %@", argumentArray: argumentArray)
do {
return try self.managedContext.executeFetchRequest(fetchRequest) as! [NSManagedObject]
} catch {
let fetchError = error as NSError
print(fetchError)
return [NSManagedObject]()
}
}
を複数の属性名と値)は、このようなクエリを作成するようです:
attributeName1 = value1 OR attributeName2 = value2 OR attributeName3 = value3 OR...
私はこれらのANDsのORを変更したいと思います。
EDIT:
問題はそれだけでreplacing the first two itemsの "%K ==%の@" とあったということでした。
だから、私はNSCompoundPredicate to create a predicate dynamicallyを作成する必要があります。あなたの例では
これは、最初の2つのアイテムだけを置き換えたものです。ありがとう! – angeldev