zoukankan      html  css  js  c++  java
  • iOS6编程:Core Data持久化数据存储(4)运行ShoppingCart应用程序

    本教程内容篇幅比较长!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 编程》中有具体的介绍。

  • 相关阅读:
    磁盘管理之磁盘组成
    用户管理
    定时任务
    虚拟机安装centos6.9
    linux的文件属性与文件权限
    linux磁盘容量不足
    正则表达式与特殊符号
    linux三剑客与正则案例
    借用父构造函数继承属性
    myeclipse常用快捷键
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/2727908.html
Copyright © 2011-2022 走看看