24_Core Data Demo
今天开始学习Core Data,类似于数据库,可以永久保存数据。不过当把App从iPhone删掉之后就没有了。可以用来保存App的运行数据。
Part1:
//
// ViewController.swift
// Core Data Demo
//
// Created by zcdll on 16/1/22.
// Copyright © 2016年 ZC. All rights reserved.
// import UIKit
import CoreData class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let context: NSManagedObjectContext = appDel.managedObjectContext //第一次添加时使用,不注释会每次添加一次
/*
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) newUser.setValue("zcdll", forKey: "username") newUser.setValue("asdf", forKey: "password") do { try context.save() } catch { print("Save problem") }
*/ let request = NSFetchRequest(entityName: "Users") do { let results = try context.executeFetchRequest(request) if results.count > 0 { for result in results as! [NSManagedObject] { print(result.valueForKey("username")!) print(result.valueForKey("password")!) } } } catch { print("Fetch failed") }
} override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Part2:
增加了更新数据,删除数据,查询数据等功能,感觉这样写很不灵活。
//
// ViewController.swift
// Core Data Demo
//
// Created by zcdll on 16/1/22.
// Copyright © 2016年 ZC. All rights reserved.
// import UIKit
import CoreData class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let context: NSManagedObjectContext = appDel.managedObjectContext //第一次添加时使用,不注释会每次添加一次
/*
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) newUser.setValue("zcdll12", forKey: "username") newUser.setValue("asdf12", forKey: "password") do { try context.save() } catch { print("Save problem") }
*/ let request = NSFetchRequest(entityName: "Users") //request.predicate = NSPredicate(format: "username = %@", "zcdll3") request.returnsObjectsAsFaults = false do { let results = try context.executeFetchRequest(request) if results.count > 0 { for result in results as! [NSManagedObject] { /* context.deleteObject(result)
//result.setValue("zcdll3",forKey: "username") do { try context.save() } catch {} */ if let username = result.valueForKey("username") as? String { print(username) } //print(result.valueForKey("password")!) } } } catch { print("Fetch failed") }
} override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
24_Core Data Demo的更多相关文章
- json data 解析demo
json data: demo: JsonObject jsonObject= JsonHandle.getAsJsonObject(city_dataInfo).get("data&quo ...
- vue双向数据绑定原理探究(附demo)
昨天被导师叫去研究了一下vue的双向数据绑定原理...本来以为原理的东西都非常高深,没想到vue的双向绑定真的很好理解啊...自己动手写了一个. 传送门 双向绑定的思想 双向数据绑定的思想就是数据层与 ...
- jQuery源码解读 - 数据缓存系统:jQuery.data
jQuery在1.2后引入jQuery.data(数据缓存系统),主要的作用是让一组自定义的数据可以DOM元素相关联——浅显的说:就是让一个对象和一组数据一对一的关联. 一组和Element相关的数据 ...
- SQOOP Load Data from Oracle to Hive Table
sqoop import -D oraoop.disabled=true \ --connect "jdbc:oracle:thin:@(description=(address=(prot ...
- jquery data方法
jquery.data()文档:http://api.jquery.com/jQuery.data/ html5有个data-*属性,跟这个功能一样. Note: This is a low-leve ...
- 代码中函数、变量、常量 / bss段、data段、text段 /sct文件、.map文件的关系[实例分析arm代码(mdk)]
函数代码://demo.c #include<stdio.h> #include<stdlib.h> , global2 = , global3 = ; void functi ...
- jQuery数据缓存$.data 的使用以及源码解析
一.实现原理: 对于DOM元素,通过分配一个唯一的关联id把DOM元素和该DOM元素的数据缓存对象关联起来,关联id被附加到以jQuery.expando的值命名的属性上,数据存储在全局缓存对象jQu ...
- Node中的Socket.IO 简单Demo及说明
注:下面Demo的Server和Client都是纯后端. 并没有web页面. Server端代码: var express = require('express'); var app = expres ...
- Faster RCNN算法demo代码解析
一. Faster-RCNN代码解释 先看看代码结构: Data: This directory holds (after you download them): Caffe models pre-t ...
随机推荐
- Objective-C基础笔记(2)@property和@synthesize
先贴出使用@property和@synthesize实现的上一篇中的代码,再解释这两个keyword的使用方法和含义,代码例如以下: Person.h文件 #import <Foundation ...
- 解决Eclipse无法打开“Failed to load the JNI shared library”(转)
一般说来,新购笔记本会预装64位的windows系统,而在网上下载软件时,32位会优先出现在页面中(现在来说是这个情况,但我认为未来64位会越来越普及).如果你是64位的系统,却安装了32位的JDK, ...
- English - therefore,so,hence,then,accordingly,thus用法解析
这几个词的区别大致可从以下几方面去看: 1.therefore adv.因此, 所以=for that reason=consequently常用于连接两个并列分句,其前加“and”或分号“:”.He ...
- ubuntu14.04+xfce下启用fcitx,使用中文输入法
1. 安装fcitx sudo apt-get install fcitx-pinyin 2.启用fcitx 打开 setting -> Language Support -> Lang ...
- Lua for Windows入门01
由于项目紧急,我都没来得及研究lua的基本知识就直接持枪上阵了.在实施编写的过程中,却次发现编程语言如此之美,第一次. 随着Lua+for+Windows+5.1.4-45版本的完全安装,最后跳出了一 ...
- 多关键字排序(里面有关于操作符(<<运算符 和 >>运算符 )的重载)
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...
- html mysql special character
function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str. ...
- python 时间字符串与日期转化
python 时间字符串与日期转化 datetime.datetime.strptime(string, format) 根据指定的格式解析字符串为一个datetime类型.相当于datetime.d ...
- JAVA排序(一) Comparable接口
昨天接到一个实习公司的电话面试,来的很突然,没有准备. 由于以前没用过,在被他问及是否用过JAVA的排序工具Comparable与Comparator时,没有回答上来,只能实话实说没有用过. 感觉太丢 ...
- C# 动态载入Dll
1.新建測试dll及方法,用vs2010新建winform程序,详细代码例如以下: using System; using System.Collections.Generic; using Syst ...