您的位置:首页 > 移动开发 > IOS开发

iOS6编程:Core Data持久化数据存储(4)-运行ShoppingCart应用程序

2012-10-17 16:23 573 查看
本教程内容篇幅比较长!Core Data 属于 iOS App开发的进阶内容了。

运行ShoppingCart应用程序

代码编写好了,我们运行App测试一下。

因为UI 视图界面并没有进行任何编码,因此没有什么变化,重点是Xcode调试器控制台的输出内容。NSLog语句的输出就显示在这里的。



这些输出内容,刚好符合我们的预期。Customer 实体中只有一条记录,购物车编号:100,而且购物车添加了2个具体的商品。

检查 SQLite数据库

前面我们说过,SQLite数据库文件存放在App的Document目录下,数据库文件名为ShoppingCart.sqlite,怎么找到它呢?

使用Finder 切换到如下文件夹:

/Users/<您的用户名>/Library/Application Support

/iPhone Simulator/6.0/Applications/<全局唯一的ID>/Documents

注意:目录Library 默认可能是隐藏的,要访问它,可按住Option键,然后单击Finder的前往(Go)菜单,然后选择 – 资源库菜单项,进入Library目录。

另外,其中的5.1 表示的是iOS 模拟器版本号,根据运行App选择的模拟器版本号不同而有变化。

Applications 目录中使用全局唯一的ID,通过查看最新修改的目录列表,可以找到ShoppingCart 应用程序,以及Documents目录的ShoppingCart.sqlite数据库文件。



怎么打开这个文件呢?

我们可以采用SQLite Database Browser工具来打开它。

可以从下面这个地址下载这个工具。

http://sourceforge.net/projects/sqlitebrowser/

将前面的ShoppingCart.sqlite数据库文件复制到我们方便访问的一个目录下,然后通过SQLite Database Browser工具打开它。

如果前面insertDataIntoShoppingCartDB方法中的代码行:

[self.managedObjectContext save:nil];

仍然是注释的情况下,数据库中是没有任何记录的。我们可以把该代码行的注释取消掉,然后再次运行App,再次检查一下数据库中的记录。

数据库的结构中,可以看到我们定义的三个实体对象:



默认生成的数据表的名字就是前面创建的Entity的名字,加上字母Z前缀,字段名也是定义的属性命名,然后加上字母Z前缀,而主键是Z_PK,自增长的整型。

查看数据记录:

Customer表中记录信息:



购物车ShoppingCartDetail中商品信息:



查看Execute SQL 选项卡,可以试着写一条SQL 脚本查询一下:

SELECT * FROM ZCustomer c
INNER JOIN ZShoppingCartMaster sm on c.ZCustomerID=sm.ZCustomerID
INNER JOIN ZShoppingCartDetail sd on sm.ZCartID=sd.ZCartID



本教程的具体内容及其范例App都收录在《一步一步学习iOS 6 编程》的最新版PDF文件中。

关于Core Data 框架中的其他开发内容,以及Xcode 4.5中提供的支持Core Data的Application 模板,都在《一步一步学习iOS 6 编程》中有具体的介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: