这是我在 cellForRowAtIndexPath 中调用的内容:
NSManagedObjectContext *context = [[AppDelegate sharedAppDelegate] managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Favorites" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *requestPredicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"(link like '%@')",articleLink]];
[fetchRequest setPredicate:requestPredicate];
[fetchRequest setFetchBatchSize:1];
NSError *error = nil;
NSUInteger count = [context countForFetchRequest:fetchRequest error:&error];
NSLog(@"Count - %d", count);
if (count == 0)
return NO;
else
return YES;
基本上它会检查我的模型中是否存在某个项目。非常有用,但我认为在这么短的时间内发出如此多的获取请求有什么问题吗?
电池管理有任何问题,每次调用时都会从磁盘读取吗?
有更好的吗?
谢谢!