我正在使用xcode 4.6.1创建一个ios应用程序,它使用核心数据来保存数据库中的数据,我提供了部署目标为ios 4.3,基本sdk设置为最新的6.1。
我被困的地方是当我在ios 4.3上运行应用程序时,我看到我的sqlite文件已创建但其中不包含任何表格。我在这里没有写任何特殊代码,默认情况下,每个东西都在应用代理中处理,我遇到了其他开发人员所说的几个帖子
NSURL *modelURL =[[NSBundle mainBundle] URLForResource:@"StudentData" withExtension:@"momd"]; _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
使用上面的“妈妈”,但我甚至做到了,似乎每次在ios 4.3中弹出这个问题,我也试过并重置我的模拟器很多时间但似乎没有任何工作,我确实需要ios4。 3支持所以请告诉我这里发生了什么以及我需要做什么。
我也尝试过打印
NSLog(@"%@",[self managedObjectModel]);
但它不是零
请注意,这里的文件名称没有错误。
由于
答案 0 :(得分:0)
NSBundle * modelWrapper = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@“StudentData”ofType:@“momd”]];
NSString * modelPath = [modelWrapper pathForResource:@“StudentData”ofType:@“mom”];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:[NSURL fileURLWithPath:modelPath]];
答案 1 :(得分:0)
默认情况下,在Mac OS中您没有写入权限。
从终端转到存储StudentData文件的路径,然后编写此命令chmod 777
。
它允许您在文件中写入数据。
答案 2 :(得分:0)
嗯,我得到了这个工作我所做的是运行应用程序,看到它创建了sqlite文件,但没有表,但当我试图在数据库中插入数据与ios 4.3然后数据插入和表是令人惊讶地创造了它对我没有任何意义,但我在没有改变代码中的任何内容的情况下工作。