Ios Coredata不支持in谓词,但仅支持非主计算

Ios Coredata不支持in谓词,但仅支持非主计算,ios,core-data,nspredicate,Ios,Core Data,Nspredicate,我遵循苹果关于高效导入数据的示例() 我的代码示例如下所示 NSString* predicateString = @" IN %@)"; predicateString = [NSString stringWithFormat:@"(%@%@", predicatePrefix, predicateString]; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; [fetchRequest setEntity: [N

我遵循苹果关于高效导入数据的示例()

我的代码示例如下所示

NSString* predicateString = @" IN %@)";
predicateString = [NSString stringWithFormat:@"(%@%@", predicatePrefix, predicateString];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity: [NSEntityDescription entityForName:entityName inManagedObjectContext: self.managedObjectContext]];
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:predicateString, sortedServerIDs]];

// make sure the results are sorted as well
[fetchRequest setSortDescriptors: [NSArray arrayWithObject:
                                   [[NSSortDescriptor alloc] initWithKey: predicatePrefix
                                                               ascending:YES]]];

NSError *error = nil;
NSArray *matchingManagedObjects = [__managedObjectContext executeFetchRequest:fetchRequest error:&error];

由此产生的错误是

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: 'unimplemented SQL generation for predicate : (businessesID IN {1, 2, 3, 4, 5, 6, 7, 39})'
然而,这在我的家庭电脑上的模拟器,它在我的设备上工作! 我在两台机器上都运行xcode 4.2.1

我试着这样回答:

但是收到了同样的错误

如果在我的机器上检查我的SQLite版本很重要,我有:

sqlite3——版本
3.7.8 2011-09-19 14:49:19 3e0da808d2f5b4d12046e05980ca04578f581177

引用字段名时,需要在格式字符串中使用%K

NSString* predicateString = @" IN %@)";
predicateString = [NSString stringWithFormat:@"(%K%@", predicatePrefix, predicateString];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity: [NSEntityDescription entityForName:entityName inManagedObjectContext: self.managedObjectContext]];
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:predicateString, sortedServerIDs]];

// make sure the results are sorted as well
[fetchRequest setSortDescriptors: [NSArray arrayWithObject:
                               [[NSSortDescriptor alloc] initWithKey: predicatePrefix
                                                           ascending:YES]]];

NSError *error = nil;
NSArray *matchingManagedObjects = [__managedObjectContext executeFetchRequest:fetchRequest error:&error];

不幸的是,仍然使用以下命令逐字接收相同的错误:
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@“%K IN%@”、predicatePrefix、SortedServerId]------------错误----
***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“未实现谓词的SQL生成:(在{1,2,3,4,5,6,7,39}中的businessesID)我也可以从这台机器编译到手机,并且可以正常工作。只是不在模拟器中这会是模拟器的问题吗,或者这台机器上的sqlite版本?