我有一个Core Data对象,其中有两个字段(一个字符串GUID和一个整数,我想用它作为筛选器)
在SQL中,它会是"SELECT * FROM Answers WHERE qIndex = 1 AND GUID = '88bfd206-82fb-4dd0-b65d-096f8902855c'
我尝试使用Core Data,但无法使用字符串值进行过滤。
这是我的代码:
var request = NSFetchRequest(entityName: "Answers")
request.returnsObjectsAsFaults = false;
let resultPredicate1 = NSPredicate(format: "qIndex = %i", qIndex)
let resultPredicate2 = NSPredicate(format: "formUUID = %s", formUUID)
var compound = NSCompoundPredicate.andPredicateWithSubpredicates([resultPredicate1, resultPredicate2])
request.predicate = compound
var results:NSArray = context.executeFetchRequest(request, error: nil)
有什么想法我做错了什么吗?对于两个整数值使用相同的代码和筛选器时,它可以正常工作。
提前感谢。
NSPredicate(format: "qIndex = %i", qIndex)
替换为NSPredicate(format: "qIndex = \(qIndex)")
。 - Fyodor Volchyok