我使用 coredata 开发了一个应用程序。
但是,在 AdHoc 或 Release 模式下,无法从 coredata 获取数据(使用 NSFetchedResultsController)。在 Debug 模式下,可以获取数据。
看下面的代码。
NSFetchRequest *req = [[NSFetchRequest alloc] initWithEntityName:MODEL_NAME] ;
[req setFetchBatchSize:20] ;
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"orderIndex" ascending:YES];
[req setSortDescriptors:[[NSArray alloc] initWithObjects:sortDescriptor, nil]] ;
NSFetchedResultsController *res = [[NSFetchedResultsController alloc] initWithFetchRequest:req managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:nil] ;
NSAssert([res performFetch:nil], @"Fetch failed") ;
int dataCounter = [[[res sections] objectAtIndex:0] numberOfObjects] ;
// In Release mode:0, in Debug mode:2
NSLog(@"dataCounter:%d",dataCounter) ;
我改变 Release 或 Debug mode ,就像这样。生产 > 架构 > 编辑方案 > 运行 > 构建配置。
环境:Xcode 4.6.3,基础 SDK iOS 6.1
你有什么帮助吗?
谢谢你。