CoreData

 import CoreData

 class ViewController: UIViewController {

     override func viewDidLoad() {
         super.viewDidLoad()
         // Do any additional setup after loading the view, typically from a nib.

         //获取管理的数据上下文对象
 //        let app = UIApplication.sharedApplication().delegate as AppDelegate

         //2015年5月2号修改
         let app = UIApplication.sharedApplication().delegate as! AppDelegate

         let context = app.managedObjectContext!

         var error:NSError?

         //创建User对象
 //        var oneUser = NSEntityDescription.insertNewObjectForEntityForName("User", inManagedObjectContext: context) as User

         //2015年5月2号修改
         var oneUser = NSEntityDescription.insertNewObjectForEntityForName("User", inManagedObjectContext: context) as! User

         //对象赋值
         oneUser.userID =
         oneUser.userEmail = "18500@126.com"
         oneUser.userPawd = "

         //保存
         if(!context.save(&error))
         {
             println("不能保存:\(error?.localizedDescription)");
         }

         //------- 查询

         //声明数据的请求
         var fetchRequest:NSFetchRequest = NSFetchRequest()
         fetchRequest.fetchLimit = // 限定查询结果的数量
         fetchRequest.fetchOffset = // 查询的偏移量

         //声明一个实体结构
         var entity:NSEntityDescription? = NSEntityDescription.entityForName("User", inManagedObjectContext: context)

         //设置数据请求的实体结构
         fetchRequest.entity = entity

         //设置查询条件
         let predicate = NSPredicate(format: "userID = '2'", "")
         fetchRequest.predicate = predicate

         //查询操作
         var fetchedObjects:[AnyObject]? = context.executeFetchRequest(fetchRequest, error: &error)

         //遍历查询的结果
 //        for info:User in fetchedObjects as [User] {

         //2015年5月2号修改
         for info:User in fetchedObjects as! [User] {
             println("userID = \(info.userID)")
             println("userEmail = \(info.userEmail)")
             println("userPawd = \(info.userPawd)")
             println("++++++++++++++++++++++++++++++++++++++")
         }

         //修改
         //遍历查询出来的所有对象
 //        for info:User in fetchedObjects as [User] {

         //2015年5月2号修改
         for info:User in fetchedObjects as! [User] {
             println("userID = \(info.userID)")
             println("userEmail = \(info.userEmail)")
             println("userPawd = \(info.userPawd)")
             println("++++++++++++++++++++++++++++++++++++++")

             //修改邮箱
             info.userEmail = "18500_junfei521@126.com"
             //重新保存
             if(!context.save(&error))
             {
                 println("不能保存:\(error?.localizedDescription)");
             }
         }

         //删除对象
 //        for info:User in fetchedObjects as [User]

         //2015年5月2号修改
         for info:User in fetchedObjects as! [User]
         {
             context.deleteObject(info)
         }
         //重新保存-更新到数据库
         if(!context.save(&error))
         {
             println("删除后保存:\(error?.localizedDescription)");
         }

         //获取路径
         let homeDirectory = NSHomeDirectory()
         println(homeDirectory)
     }

     override func didReceiveMemoryWarning() {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
     }
 
 

iOS开发——数据持久化Swift篇&(四)CoreData的更多相关文章

  1. iOS开发——数据持久化Swift篇&使用Core Data进行数据持久化存储

    使用Core Data进行数据持久化存储   一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成 ...

  2. iOS开发——数据持久化Swift篇&(一)NSUserDefault

    NSUserDefault //******************** 5.1 NSUserDefault和对象归档 func useNSUserDefault() { //通过单利来创建一个NSU ...

  3. iOS开发——数据持久化Swift篇&文件目录路径获取(Home目录,文档目录,缓存目录等)

    文件目录路径获取(Home目录,文档目录,缓存目录等)   iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录:   1,Home ...

  4. iOS开发——数据持久化Swift篇&iCloud云存储

    iCloud云存储 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super. ...

  5. iOS开发——数据持久化Swift篇&SettingBundle

    SettingBundle import UIKit class ViewController: UIViewController { var userDefault = NSUserDefaults ...

  6. iOS开发——数据持久化Swift篇&(三)SQLite3

    SQLite3 使用 //******************** 5.3 SQLite3存储和读取数据 func use_SQLite3() { //声明一个Documents下的路径 var db ...

  7. iOS开发——数据持久化Swift篇&(二)沙盒文件

    沙盒文件 //******************** 5.2 文件操作 func use_FileOperations() { //1.获取程序的Home目录 let homeDirectory = ...

  8. iOS开发——数据持久化Swift篇&通用文件存储

    通用文件存储 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextFie ...

  9. iOS开发——数据持久化Swift篇&模型对象归档

    模型对象归档 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextFie ...

随机推荐

  1. Python 中的 is 和 id

    (ob1 is ob2) 等价于 (id(ob1) == id(ob2)) 首先id函数可以获得对象的内存地址,如果两个对象的内存地址是一样的,那么这两个对象肯定是一个对象.和is是等价的.Pytho ...

  2. [转]Javascript定义类的三种方法

    作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...

  3. extjs笔记

      1.    ExtJs 结构树.. 2 2.    对ExtJs的态度.. 3 3.    Ext.form概述.. 4 4.    Ext.TabPanel篇.. 5 5.    Functio ...

  4. PHP 碎片

    1. $_SERVER['REMOTE_ADDR'] cannot be modified by the user or via HTTP so you CAN trust it. -- 用这个可以有 ...

  5. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  6. 指定的值不是类型“Edm.Int32”的实例

    指定的值不是类型“Edm.Int32”的实例参数名: value 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常 ...

  7. phonegap 新窗口 inappbrowser插件

    在Phonegap 开发过程中,需要调用外部网页,又要跳出白名单安全限制,可以使用 inappbrowser插件. http://plugins.cordova.io/#/package/org.ap ...

  8. JVM系列二:GC策略&内存申请、对象衰老

    JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generatio ...

  9. vim切换buffer

    [vim切换buffer] 命令 ls 可查看当前已打开的buffer 命令 b num 可切换buffer (num为buffer list中的编号) 其它命令: :bn -- buffer列表中下 ...

  10. JQ避免出现多次执行一个事件的解决方案

    点击按钮之后会多次执行一个事件的话,就在方法结尾加入如下代码,这样的话事件就可以只执行一次了 //避免出现多次执行事件的问题 event.stopPropagation(); 此外,时间的重复绑定也有 ...