我正在查看一些我怀疑导致问题的遗留代码(有时候在执行后期我得到的> 1 fetchResults具有相同的标识符):
if(createIfAbsent && ([fetchResults count] == 0)) {
KHNode *node = [NSEntityDescription insertNewObjectForEntityForName:@"KHNode" inManagedObjectContext:self.managedObjectContext];
node.identifier = aKey;
[self.managedObjectContext insertObject:node];
fetchResults = [NSArray arrayWithObject:node];
}
我正在使用的谓词是:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(identifier = %@)", aKey];
insertObject调用是否有意义,或者只是复制insertNewObjectForEntityForName?它有任何影响或副作用吗?可以两次添加同一个对象吗?