在下面的示例中,为什么两个properties
数组的元素不同?第一个数组为空,第二个数组包含 1 个元素,但它们使用相同的谓词...
NSError *error;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"publication.store.storageMode != 0 && publication.store.complete == NO && publication.download == NIL"];
NSFetchRequest *request1 = [NSFetchRequest fetchRequestWithEntityName:@"Property"];
request1.predicate = predicate;
NSArray *properties1 = [self executeFetchRequest:request1 error:&error];
NSFetchRequest *request2 = [NSFetchRequest fetchRequestWithEntityName:@"Property"];
NSArray *allProperties = [self executeFetchRequest:request2 error:&error];
NSArray *properties2 = [allProperties filteredArrayUsingPredicate:predicate];
properties1
有 0 个元素。allProperties
有 12 个元素。properties2
有 1 个元素。
我不明白为什么第一个请求没有返回我在第二种方法中获得的一个元素。它们不应该是等价的吗?