0

我一直在避免使用 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;
}
4

1 回答 1

0

据我所知,核心数据非常快,WWDC 核心数据最佳实践视频提供了这方面的信息以及如何使用仪器检查速度等。

于 2013-07-28T04:40:19.613 回答