小编dee*_*ley的帖子

iPhone上的CoreData是否支持IN谓词?

我正在尝试根据用户定义的类型列表获取一堆特定类型的记录...

[fetchRequest setEntity:[NSEntityDescription entityForName:@"myRecord" inManagedObjectContext:self.managedObjectContext]];  
NSSet   *shipTypes = [NSSet setWithObjects:[NSNumber numberWithInt:70],
                    [NSNumber numberWithInt:71],
                    [NSNumber numberWithInt:72],
                    [NSNumber numberWithInt:73],
                    [NSNumber numberWithInt:74],
                     nil];
NSPredicate *aPredicate = [NSPredicate predicateWithFormat:@"type in %@", shipTypes];
[fetchRequest setPredicate:aPredicate];
theRecords = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
Run Code Online (Sandbox Code Playgroud)

...运行时,executeFetchRequest消息抛出异常......

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'unimplemented SQL generation for predicate : (type IN {71, 73, 70, 72, 74})'
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者这真的不受支持?

sqlite iphone core-data

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

标签 统计

core-data ×1

iphone ×1

sqlite ×1