小编Emi*_*lyP的帖子

获取超过1000个对象时,核心数据崩溃

当我尝试从Core Data获取超过1000个NSManagedObjects时,我的应用程序崩溃了这条消息:

error: (1) I/O error for database at .../Documents/Stores/Model.sqlite.  
SQLite error code:1, 'Expression tree is too large (maximum depth 1000)'
CoreData: error: (1) I/O error for database at .../Documents/Stores/Model.sqlite.  
SQLite error code:1, 'Expression tree is too large (maximum depth 1000)'
Run Code Online (Sandbox Code Playgroud)

我用来获取用户选择的对象的代码是:

NSManagedObjectContext *context = cdh.context;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Spot" inManagedObjectContext:context];
NSError *error = nil;
[request setEntity:entity];
request.includesPropertyValues = NO;

NSMutableArray *subPredicatesArray = [NSMutableArray array];

for (NSString *string in uuidStrings)
{
    NSPredicate *predicate …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c nsfetchrequest ios

1
推荐指数
1
解决办法
162
查看次数

标签 统计

core-data ×1

ios ×1

nsfetchrequest ×1

objective-c ×1