核心数据创建一个没有表的sqlite文件

时间:2013-07-01 12:27:25

标签: objective-c core-data ios4 xcode4.6

我正在使用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]);

但它不是零

请注意,这里的文件名称没有错误。

由于

3 个答案:

答案 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然后数据插入和表是令人惊讶地创造了它对我没有任何意义,但我在没有改变代码中的任何内容的情况下工作。