gpt4 book ai didi

ios - 核心数据获取会返回什么样的错误?

转载 作者:行者123 更新时间:2023-12-03 16:48:37 25 4
gpt4 key购买 nike

-[NSManagedObjectContextexecuteFetchRequest:error:]-[NSFetchedResultsController PerformFetch:] 可以向用户返回什么样的错误以及应如何处理?我在文档中找不到有关这些方法可能出现的错误的任何内容。此外,CoreData/CoreDataErrors.h 中定义的错误代码似乎都不适用于获取。

现在,我对核心数据获取的错误处理只是一个 NSAssert ,如下所示:

 NSError *fetchError = nil;
NSArray *fetchedResults = [context executeFetchRequest: request error: &fetchError];
NSAssert( fetchedResults, @"Error fetching: %@", fetchError );

虽然测试时我从未遇到过此断言失败的情况,但这并不意味着这不会失败。优雅地处理这些错误的最佳实践是什么?

最佳答案

执行获取请求时,我用空数组填充预期数组,而不是将其保留为零。

NSError *error;
NSArray *array = [context executeFetchRequest:request error:&error];
if (array == nil)
{
NSLog(@"Error retrieving array of values %@", error);
array = [NSArray array];
}

如果您想测试错误处理,此答案详细介绍了如何实现每次都会给您错误的 NSPerisentStore。

Core Data Unit Testing - Unsure how to trigger error case in executeFetchRequest:error:

关于ios - 核心数据获取会返回什么样的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com