0
我已经完成并使用tableview来复制核心数据教程来显示内容。但是,我想通过在视图上执行访问实体而不使用tableview。我使用了以下提取代码,但返回的计数始终为0.数据在使用SQLite工具打开时存在。核心数据混淆:获取不带tableview
NSManagedObject *entryObj;
XYZDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Quote" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"id" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[request setEntity: entity];
NSArray *results = [managedObjectContext executeFetchRequest:request error:nil];
if (results == nil) {
NSLog(@"No results found");
entryObj = nil;
}else {
NSLog(@"results %d", [results count]);
}
[request release];
[sortDescriptors release];
计数返回总是0;它应该是5.
任何人都可以指向我的参考或教程有关创建控制器不与tableview使用。
我已经试过你的建议。打印出来的错误是执行代码的类的名称。在没有排序描述符的情况下执行相同的操作时,出现“错误地址”错误。结果,无论我尝试返回“count:0”。我想知道在这种情况下是否需要额外的方法来实现coredata。请注意,我只是在阅读,而不是尝试添加/删除/更新。 – 2010-06-03 17:50:50
我试过你的代码,结果是一样的(结果:0)。这是我需要访问“报价”实体还是他们缺少的东西? – 2010-06-03 17:54:50
最后修复它。模拟器创建另一个文件夹,一个额外的SQLite数据库。切换DB修复它。代码毕竟是正确的。谢谢您的帮助。 – 2010-06-03 18:33:07