1.4.2.2. PATHS(Core Data 应用程序实践指南)
持久化存储文件在文件系统中的位置
- 先获取应用程序文档目录的路径
#pragma mark - PATHS
- (NSString *)applicationDocumentsDirectory {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
} return [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) lastObject];
}
- 返回包含Stores的子目录路径的NSURL,如果没有则创建
- (NSURL *)applicationStoresDirectory {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
} NSURL *storesDirectory = [[NSURL fileURLWithPath:[self applicationDocumentsDirectory]] URLByAppendingPathComponent:@"Stores"]; NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:[storesDirectory path]]) {
NSError *error = nil;
if ([fileManager createDirectoryAtURL:storesDirectory withIntermediateDirectories:YES attributes:nil error:&error]) {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
}else{
NSLog(@"FAILD to Create Stores directory:%@",error);
} }
} return storesDirectory;
}
- 返回完整路径
- (NSURL *)storeURL {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
}
return [[self applicationStoresDirectory] URLByAppendingPathComponent:storeFilename];
}
1.4.2.2. PATHS(Core Data 应用程序实践指南)的更多相关文章
- Core Data 应用程序实践指南(Core Data 应用程序实践指南)
译者序 前言 勘误 1. 初次尝试Core Data应用程序 本书的基础,基本概念,能做什么,不能做什么.实现CoreDataHelper类,演示如何将Core Data同既有的应用程序相集成. 2. ...
- 1.1.Core Data是什么(Core Data 应用程序实践指南)
Core Data是个框架,把数据当作对象来操作. 由Core Data提供的数据对象叫托管对象(managed objecgt),而Core Data 位于程序和持久化存储区之间. 托管对象模型里有 ...
- 1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)
项目创建时会有 “Use Core Data" ,但是,有时没有勾选这个选项,那么就要手动链接Core Data Framework. 选中 Grocery Dude Target Gene ...
- 1.2.Core Data 的适用场合(Core Data 应用程序实践指南)
如果应用程序要保存的设置数据太多,以致NSUserDefaults及“属性列表“(property list)这种简单的存储方案无法应付.不需要再"重新发明轮子"(reinvent ...
- 1.1.1.持久化存储协调器(Core Data 应用程序实践指南)
持久化存储协调器(persistent store coordinator)里面包含一份持久化存储区,而存储区里又含有数据表里的若干行数据. 与原子存储不同,SQLite数据库会在用户提交变更日志时进 ...
- 2.1. 托管对象模型是什么(Core Data 应用程序实践指南)
托管对象模型是一种数据结构.在这里,数据结构.纲要.对象图.数据模型.托管对象模型这些术语是一个意思.它们是对同一个东西不同场景的描述.比如,对Core Data 而言是托管对象模型,对设计器来说是对 ...
- 1.4.2.3. SETUP(Core Data 应用程序实践指南)
初始化Core Data的三个方法: init,初始化托管对象模型.持久化存储协调器.托管对象上下文 - (id)init { ) { NSLog(@"Running %@ '%@'&quo ...
- 1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)
有些支持Core Data的内置模板是在应用程序委托里面设置Core Data的.但是为了模块化,我们通过应用程序委托惰性地创建CoreDataHelper类的实例: 初始化托管对象模型 根据托管对象 ...
- 3.3. 轻量级的迁移方式(Core Data 应用程序实践指南)
持久化存储协调器会试着用新版的模板打开原来的持久化存储区,但是那是旧的模板,旧的格式,当然会出错.现在要做的就是迁移现有的持久化数据区,以便跟新模型匹配. 怎么进行迁移呢? 在什么时候进行迁移? 在向 ...
- 3.2. 添加模板版本(Core Data 应用程序实践指南)
为了不像3.1那样崩溃,修改模型之前先创建新的模型版本.添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型.旧的模型有助于把原来持久化 ...
随机推荐
- zf-关于荆州首页鼠标移动到导航栏上去触发的js 显示 问题解决办法
是我copy代码的 时候 这个触发的属性没有修改,导致出现BUG,改成mopen('m2') 就好了
- 【转】php缓冲 output_buffering和ob_start
原文: http://blog.csdn.net/21aspnet/article/details/7389427 php缓冲 output_buffering和ob_start buffer buf ...
- Android - Get Bluetooth UUID for this device
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join th ...
- Quartz总结(三):动态修改定时器一
package com.mc.bsframe.job; import org.quartz.Scheduler; import org.quartz.SchedulerException; impor ...
- css3的::selection属性
大家都知道浏览器对选中的文本默认样式都是统一的,Windows下是一个深蓝色的背景,白字的前景,而在Mac下是一个淡蓝色背景,白色字体,就如上图所展示的一样,自从有了这个“::selection”选择 ...
- ntpdate
apt-get install ntpdate ntpdate 133.100.9.2 [root@10.10.10.74 /data]$ lsof -i:123 COMMAND PID USER F ...
- 解决airserver在Windows下安装失败的问题
airserver 可以将iphone 实时投影到mac 和 pc.在mac上安装非常简单.但是在Windows上安装时会有很多问题.之前我电脑安装很快就完成了(因为我之前已经在不知情的前提先事先装过 ...
- Android Camera 调用流程总结
1.总体介绍 Android Camera框架从整体上看是一个client/service架构.有两个进程,一个是client进程,可以看成AP端,主要包括Java代码和一些native层的c/c+ ...
- linux权限---【600,644,700,755,711,666,777】 - - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- sort用法
一.sort用法sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出.vim 1.txt 1:datadir=/aaa/zzz:2: ...