#import "ViewController.h"

#import <CoreData/CoreData.h>

#import "Person.h"

@interface ViewController ()

@end

@implementation ViewController

{

NSManagedObjectContext *_context;

}

- (void)viewDidLoad {

[super viewDidLoad];

//获取上下文

_context = [[NSManagedObjectContext alloc]init];

//添加model

NSManagedObjectModel *model = [NSManagedObjectModel mergedModelFromBundles:nil];

NSPersistentStoreCoordinator *store = [[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:model];

NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

NSString *sqlitePath = [doc stringByAppendingString:@"/person.sqlite"];

// NSString *sqlitePath = [doc stringByAppendingPathExtension:@"person.sqlite"];

NSLog(@"%@",sqlitePath);

NSError *error = nil;

[store addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[NSURL fileURLWithPath:sqlitePath] options:nil error:&error];

_context.persistentStoreCoordinator = store;

[self addPerson];

[self findPerson];

}

- (void)addPerson{

//创建对象

Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:_context];

person.name = @"hzt";

person.age = @"15";

person.phone = @"1314";

//保存数据

NSError *error = nil;

if ([_context save:&error]){

NSLog(@"保存成功");

}else{

NSLog(@"保存失败");

}

}

- (void)findPerson{

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name = %@",@"hzt"];

request.predicate = predicate;

NSError *error = nil;

NSArray *array = [_context executeFetchRequest:request error:&error];

for (Person *per in array){

NSLog(@"%@,%@",per.name,per.age);

}

}

------------------参考文献-------------------------------

http://www.jianshu.com/p/8299b7360dd6

数据存储之CoreData的更多相关文章

  1. IOS数据存储之CoreData使用优缺点

    前言: 学习了Sqlite数据之后认真思考了一下,对于已经习惯使用orm数据库的开发者或者对sql语句小白的开发者来说该如何做好数据库开发呢?这个上网搜了一下?看来总李多虑了!apple 提供了一种数 ...

  2. iOS开发之CoreData数据存储

    iOS开发之CoreData数据存储 参考资料:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreD ...

  3. [Xcode 实际操作]七、文件与数据-(14)数据持久化存储框架CoreData的使用:删除CoreData中的数据

    目录:[Swift]Xcode实际操作 本文将演示如何删除数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持 ...

  4. [Xcode 实际操作]七、文件与数据-(13)数据持久化存储框架CoreData的使用:编辑CoreData中的数据

    目录:[Swift]Xcode实际操作 本文将演示如何修改数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持 ...

  5. 数据存储: sqlite,coredata plist 归档

    sql 语句  结构化查询语言 通用数据库操作语言1.创建数据库create database 1407EDB2.删除数据库drop database 1407EDB3.备份use master ex ...

  6. iOS开发 - OC - 实现本地数据存储的几种方式一

    iOS常用的存储方式介绍 在iOS App开发过程中经常需要操作一些需要持续性保留的数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.本文针对OC中经常使用的一下存储方式做了个整理. 常用 ...

  7. ios开发之数据存储

    iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core Data 应用沙盒 ...

  8. iOS本地数据存储(转载)

    看到一篇不错的文章,推荐给大家!!! 应用沙盒 1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 2)应用沙盒的文 ...

  9. iphone数据存储之-- Core Data的使用(一)

    http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html 一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终 ...

随机推荐

  1. stm32串口输出丢失第一个字符的问题及原因

    因为TC和TXE 标志位在复位的时候会被置1,导致第一次没有发送. 所以在初始化串口的时候可以增加一句 USARTx->SR=0;(如 USART1->SR=0;)

  2. VB模拟键盘输入的N种方法

    VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...

  3. iOS 动画组

    其实早在一个多月以前就已经实现了动作组播放的功能,不过当时感觉好像没有什么难度并没有放在心上,今天突然要用到动画组,发现已经忘记了,所以又将原来的代码翻出来看了下.最后决定还是写下来,以备不时之需.动 ...

  4. 从世界坐标转换成ui的rect坐标的方法

    这个东西整整折磨了我一个通宵.原谅我先这样放上来.明天整理整理 using UnityEngine; using System.Collections; using UnityEngine.UI; p ...

  5. DevExpress实现为TextEdit设置水印文字

    本文实例展示了DevExpress实现为TextEdit设置水印文字的方法,是一个很实用的技巧.分享给大家供大家参考. 转自 http://blog.csdn.net/yh0503/article/d ...

  6. redis + spring 集成

    1.pom <modelVersion>4.0.0</modelVersion> <groupId>com.x.redis</groupId> < ...

  7. ios中属性和对象的初始化

    属性和对象的初始化为了方便记忆, 我们可以都使用self.来初始化. 这样可以避免内存的过度释放.

  8. JAVA 多线程随笔 (二) sleep, yield, join, wait 和notify

    这里先说明一下锁对象,如果一个类比如Person里的方法都有synchronized来修饰,那么每一个方法的锁对象就是Person的一个实例person. 锁对象也可以针对某个特定的实例, 比如syn ...

  9. MVC5 + EF6 完整入门教程三:EF来了

    期待已久的EF终于来了 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型,将之前的示例添加数据库查询验证功能. 文章提纲 概述 & ...

  10. 关于arcengine中geoprocessor使用的困惑

    最近在实验一个小功能,就是用arcengine10.1做一个小程序,将point类型的shp转换为polyline类型的shp文件,用到的工具是pointstoline,但就是在设置input_fea ...