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. Android中设置全屏的方法

    在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果.其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏. 其 ...

  2. 装饰模式decorator

    C++设计模式——装饰模式 前言 在实际开发时,你有没有碰到过这种问题:开发一个类,封装了一个对象的核心操作,而这些操作就是客户使用该类时都会去调用的操作:而有一些非核心的操作,可能会使用,也可能不会 ...

  3. bundle install rake-10.4.2

    这个是由于被墙了的原因,提供一个不用FQ解决的方法 淘宝做了一个gem镜像,地址是http://ruby.taobao.org/  为什么有这个? 由于国内网络原因(你懂的),导致 rubygems. ...

  4. Windows Server 2003单网卡搭建VPN

    Windows Server 2003单网卡搭建VPN   1.打开[控制面板] --> [管理工具] --> [路由和远程访问] 2.鼠标右击你要管理的电脑 在弹出式菜单中选中[配置并启 ...

  5. 【kd-tree】专题总结

    感谢orz神·小黑的指导 kd-tree就是用来计算若干维空间k近/远点的数(shou)据(suo)结(you)构(hua) 建树 假设题目是k维的点 第deep层就是用deep%k+1维把所有点分为 ...

  6. iconfont阿里妈妈前端小图标使用方法详解

    图标选购网址:http://www.iconfont.cn/ 1.从阿里妈妈网站选购好小图标,加入购物车,下载好文件: 2.把字体文件放入字体(font)文件夹(tff)(woff),(eot) 3. ...

  7. HD4505小Q系列故事——电梯里的爱情

    Problem Description 细心的同事发现,小Q最近喜欢乘电梯上上下下,究其原因,也许只有小Q自己知道:在电梯里经常可以遇到他心中的女神HR. 电梯其实是个很暧昧的地方,只有在电梯里,小Q ...

  8. Oracle中INT、FLOAT、NUMBER区别

    Oracle里的int等于number(长度,0) float也类似,number要定义小数部分的位数,而float不用定义后边小数有几位  因为NUMBER要确定长度,后边确定小数位. 所以,如果不 ...

  9. 安装glibc2.7

    参考链接http://fhqdddddd.blog.163.com/blog/static/18699154201401722649441/ /lib/libc.so.6: version `glib ...

  10. OSPF ProcessID(进程号)详解

    一.OSPF ProcessID本地有效         首先明确一下,OSPF ProcessID,范围为1-65535,用于在路由器本地标识OSPF进程. 看上图,R1使用进程号10创建了一个OS ...