我正在尝试在 CoreData 中搜索与 recordId 和字符串名称都匹配的对象,但它并不总是找到该对象。例如,我搜索了一个 ID 为 1000 且名称为“The Brown Family”的对象(注意“The”和“Brown”之间的 2 个空格)。如果我使用:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(recordId == %@") AND (name like[cd] %@)", recordId, name];
使用 recordId=1000 和 name="The Brown Family",获取请求返回 nil。如果我使用:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(recordId == %@"), recordId];
如果recordId=1000,它会找到对象。如果我打印对象的 name 属性,我会得到“The Brown Family”。因此,该对象具有正确的 id 和名称,但我的 fetchRequest 失败。我究竟做错了什么?