iOS开发——数据持久化Swift篇&(四)CoreData
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的更多相关文章
- iOS开发——数据持久化Swift篇&使用Core Data进行数据持久化存储
使用Core Data进行数据持久化存储 一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成 ...
- iOS开发——数据持久化Swift篇&(一)NSUserDefault
NSUserDefault //******************** 5.1 NSUserDefault和对象归档 func useNSUserDefault() { //通过单利来创建一个NSU ...
- iOS开发——数据持久化Swift篇&文件目录路径获取(Home目录,文档目录,缓存目录等)
文件目录路径获取(Home目录,文档目录,缓存目录等) iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录: 1,Home ...
- iOS开发——数据持久化Swift篇&iCloud云存储
iCloud云存储 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super. ...
- iOS开发——数据持久化Swift篇&SettingBundle
SettingBundle import UIKit class ViewController: UIViewController { var userDefault = NSUserDefaults ...
- iOS开发——数据持久化Swift篇&(三)SQLite3
SQLite3 使用 //******************** 5.3 SQLite3存储和读取数据 func use_SQLite3() { //声明一个Documents下的路径 var db ...
- iOS开发——数据持久化Swift篇&(二)沙盒文件
沙盒文件 //******************** 5.2 文件操作 func use_FileOperations() { //1.获取程序的Home目录 let homeDirectory = ...
- iOS开发——数据持久化Swift篇&通用文件存储
通用文件存储 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextFie ...
- iOS开发——数据持久化Swift篇&模型对象归档
模型对象归档 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextFie ...
随机推荐
- bzoj 3594 [Scoi2014]方伯伯的玉米田(DP+二维BIT)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3594 [题意] 给定一个n个数的序列,有K次将一个区间内的数加1的机会,问最长不下降子 ...
- Start SparkR in RStudio
Sys.setenv(SPARK_HOME="/usr/spark") .libPaths(c(file.path(Sys.getenv("SPARK_HOME" ...
- win7的centos虚拟机上搭建mysql5.6服务
1 安装包下载 mysql5.6下载地址: http://dev.mysql.com/downloads/mysql/ 这里选择linux版本: navicat11破解版的下载地址: http://d ...
- python 使用 setup.py 方式安装及包的卸载
安装: 可通过 --home 或 --prefix 指定安装目录 --prefix=xx/xxx 选择安装目录 --record files.txt 记录所有安装文件的路径 ...
- OperateParticleWithCodes
[OperateParticleWithCodes] Listing 6-6 shows how you might configure an emitter’s scale property. Th ...
- C++11初始化列表
[C++11之初始化列表] 在C++03中,在严格遵守POD的定义和限制条件的结构及类型上可以使用初始化列表(initializer list),构想是结构或是数组能够依据成员在该结构内定义的顺序通过 ...
- 通过set和waitOne来控制子线程的运行和停止
public partial class Form1 : Form { //自动重置事件类 //主要用到其两个方法 WaitOne() 和 Set() , 前者阻塞当前线程,后者通知阻塞线程继续往下执 ...
- DeleteDC() 与 ReleaseDC() 的区别 [转]
DeleteDC 该函数删除指定的设备上下文环境(DC). 原型: BOOL DeleteDC(HDC hdc): 参数: hdc:设备上下文环境的句柄. 返回值: 成功,返回非零值:失败,返回零.调 ...
- easymock入门贴
from:http://macrochen.iteye.com/blog/298032 关于EasyMock常见的几个问题, 这里(http://ozgwei.blogspot.com/2007/06 ...
- Libvirt 虚拟化库剖析
讲到向外扩展计算(比如云计算),libvirt 可能是您从未听说过的最重要的库之一.libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统.libvirt 本身不 ...