我有一个循环数据的核心数据导入器,并在导入过程中忽略重复记录。
但是我发现我的 NSFetchRequest 与最近存储的尚未保存的记录不匹配。而且我看到看似相同的查询提供了不同且出乎意料的结果。
例如,在我的测试中,我发现这个查询匹配并返回结果:
fetchTest.predicate = [NSPredicate predicateWithFormat:@"%K = 3882", @"intEmployee_id"];
但这个看似相同的却没有:
fetchTest.predicate = [NSPredicate predicateWithFormat:@"%K = %@", @"intEmployee_id", @"3882"];
但是 - 在上下文保存到持久存储后,它们都匹配相同。
Apple 的文档说,默认情况下,fetches 应该对挂起的更改起作用,实际上我已经遵守了 [fetchTest includesPendingChanges] = YES。
有什么想法吗?这两个提取怎么可能返回不同的结果?