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 ...
随机推荐
- 代理(Proxy)模式简介
Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,而这张图片需要花费很长时间才能显示出来,那么当这个图片包含在文档中的后面时,使用编辑器或浏览器打开 ...
- LCA of a Binary Tree
236. Lowest Common Ancestor of a Binary Tree /** * 基础版 * 给定p,q都是在树中 * 有两种情况: * 1. p和q分布在LCA的两侧 * 2. ...
- poj2528(线段树+离散化)Mayor's posters
2016-08-15 题意:一面墙,往上面贴海报,后面贴的可以覆盖前面贴的.问最后能看见几种海报. 思路:可以理解成往墙上涂颜色,最后能看见几种颜色(下面就是以涂色来讲的).这面墙长度为1~1000 ...
- SpringMVC处理Date类型的成员变量方法
原文链接:http://www.tuicool.com/articles/aYfaqa 在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller .而当这个 ...
- ASP.NET的分页方法(三)
第三讲是应用于MVC上面的分页,很多时候MVC要和EF表达式一起使用,但是我这个使用的最原始的ADO.NET,一样实现了这个效果.要实现这个效果首先要得到MvcPager.dll,引用之后,前台操作如 ...
- HDU1007最近点对(分治)
http://acm.hdu.edu.cn/showproblem.php?pid=1007 直接见代码吧.不过这个是N*logN*logN的 尽管如此,我怎么感觉我的比他们的还快??? #inclu ...
- C# JabLib系列之如何保证只运行一个应用程序的实现
保证只运行一个应用程序的C#实现: using System;using System.Collections.Generic;using System.Linq;using System.Windo ...
- android获取手机的所有通讯录的号码和sim卡号码
============personer================================================ package com.qgc.cantent.entity; ...
- DNS与DNS劫持原理、IP、域名、服务器访问浅讲
我们都知道,平常我们所访问的网站,都是与服务器进行数据交互的.但是,浏览器和服务器是分处于不同的计算机上的,那他们是怎样进行通信的呢?今天,我们就来粗浅地聊一聊.不涉及很深的技术原理,只讲大概的流程. ...
- leetcode:Path Sum (路径之和) 【面试算法题】
题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...