我使用coredata加载一个主要包含静态数据的sqllite数据库。我通过代码确保sqlite DB存在,然后执行
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *e = [[model entitiesByName] objectForKey:@"Item"];
[request setEntity:e];
NSError *error;
// Here I never get any data
NSArray *result = [context executeFetchRequest:request error:&error];
if (error) {
[NSException raise:@"Fetch failed"
format:@"Reason: %@", [error localizedDescription]];
}
但是我从来没有从数据库中获取任何数据!我也没有错误,我得到的只是一个空数组的结果。 我知道sqliteDB中有数据,可能会出错?
更新: 所以DB文件确实有值,但行为不一致,我第一次在模拟器中运行应用程序时工作正常,但是如果我在模拟器上重置内容和设置然后再做一次构建,那么应用程序无法加载任何数据从DB,没有错误或任何东西,它只是在DB中找不到任何条目!!
答案 0 :(得分:0)
问题是内部的,我没有正确加载数据。