0

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

但这不是零

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

谢谢

4

3 回答 3

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]];

于 2013-07-01T12:35:16.670 回答
0

默认情况下,在 Mac OS 中,您没有写入权限。

从终端转到您存储 StudentData 文件的路径,然后编写此命令chmod 777

它将允许您将数据写入文件。

于 2013-07-02T13:46:48.020 回答
0

好吧,我得到了这个工作,我所做的是运行应用程序并看到它创建了 sqlite 文件但没有表但是当我尝试使用 ios 4.3 将数据插入数据库时​​,数据被插入并创建了表令人惊讶的是对我来说没有任何意义,但我没有改变代码中的任何内容就可以正常工作。

于 2013-07-03T13:03:42.050 回答