CoreData和sqlite3 - 现有数据在模拟器上消失

时间:2014-05-29 08:08:25

标签: iphone xcode core-data

我正在测试核心数据访问的iphone中的sqlite3数据库。

我创建了文件db.sqlite3并在其中创建了一个表mccategory,其中包含一些记录并将其拖到我项目的resources文件夹中。

CREATE TABLE category (  id ,  category,  parent_category,  short_name,  long_name,  description);

我在proj.xcdatamodeld

中构建了核心数据模型实体mccategory

我看到在运行应用程序时它正在检索0行,所以我从命令行打开了db.sqlite3文件,看到原始类别表不存在,而新的类表创建了zmccategory,带有一些额外的字段。 / p>

CREATE TABLE ZMCCATEGORY ( 
Z_PK INTEGER PRIMARY KEY, 
Z_ENT INTEGER, 
Z_OPT INTEGER, 
ZCATEGORY VARCHAR, 
ZDESC VARCHAR, 
ZID VARCHAR, 
ZLONG_NAME VARCHAR, 
ZPARENT_CATEGORY VARCHAR, 
ZSHORT_NAME VARCHAR );

我意识到我创建的原始表已经丢失,并且根据我在proj.xcdatamodeld文件中创建的实体的定义创建了一个新表。

所以我复制了新生成的zmccategory表并在其中插入了一些行并再次将新文件拖入xcode。

INSERT INTO ZMCCATEGORY (Z_PK,Z_ENT,Z_OPT,ZCATEGORY,ZDESC,ZID,ZLONG_NAME,     ZPARENT_CATEGORY,ZSHORT_NAME) 
VALUES (1,1,1,'All Categories','All Categories','1','All Categories','0','All Categories');

我重新运行了模拟器,它仍显示返回0行。所以我再次在命令行打开db.sqlite3文件,再次看到表中没有行。

是否有任何解决方案允许将以前正确填充的sqlite3数据库和表导入到xcode 5中。这比现在更难以实现。

0 个答案:

没有答案