我一直在避免使用IOS核心数据模型,现在有一个效率问题。如果我想经常和我的应用程序的随机部分检查我的表的计数。我想知道是否为这种“计数”方法创建上下文,实体和获取请求,如此,是轻量级或昂贵的。如果价格昂贵,可以将哪些设置为属性,创建一次或制作单例等等。我担心数据模型的动态特性可能需要新的工作对象。
-(NSInteger) count {
NSManagedObjectContext *context = [[MdCoreDataModel sharedInstance] contextFortune];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName: @"MyTable" inManagedObjectContext: context];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entityDescription];
NSError *error = nil;
NSUInteger countTotal = [context countForFetchRequest: fetchRequest error: &error];
if (error) {
NSString *stringErrorMsg = [NSString stringWithFormat:@"%@\n%@", [error localizedDescription], [error localizedFailureReason]];
NSLog(@"%s %@", __FUNCTION__, stringErrorMsg);
countTotal = 0;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Debug" message: stringErrorMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alertView show];
}
return countTotal;
}
答案 0 :(得分:0)
据我所知,核心数据非常快,WWDC核心数据最佳实践视频提供了相关信息以及如何使用仪器检查速度等。