IOS学习笔记(五)数据存储

应用程序包: (bundle)包含了所有的资源文件和可执行文件

documents:保存应用运行时生成的需要持久化的数据,ITuns同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录

Library/Caches:保存应用运行时生成的需要持久化的数据, iTuns同步设备时不会备份该目录。一般存储体积较大、不需要备份的非重要数据

Library/Preference:保存应用的所有偏好设置,IOS的设置应用会在该目录中查找应用的设置信息。iTuns同步设备时会备份该目录

Tmp:保存应用运行时所需的临时数据,使用完毕侯再将响应的文件从该目录删除。应用没有运行时,系统也可能会清楚该目录下的文件。iTUns同步设备时不会备份该目录

---------------------------------------------------------------------

友情提示:

1.如果做数据存取方面的开发,测试工作最好在模拟器上先完成,模拟机上更好看数据文件路径。

2.iPhone开发中,如果做文件的读写操作,同差功能是没有错误提示的。如果想一个不存在的文件夹中写文件,读写文件的方法会正常执行,并且不会报错, 但是,文件不会写入!

NSString *home = NSHomeDirectory();               home为应用程序主目录路径

NSString *tmpDir = NSTemporaryDirectory();      tmpDir为临时文件目录路径

NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomaininMask domainMask, BOOL expandTilde);  <

NSArray *documents =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ; <

NSString *docDir = documents[0];  <

第一个参数:要搜索的目录类型,枚举

第二个参数:要搜索的目录所在范围,通常是用户目录范围  通常是用户目录范围  NSUserDomainMask

第三个参数:是否展开波浪号?~  对应应用程序的,~代表程序当前目录

让视图滚动起来:

NSRange为一结构体:里面有两个参数:location, 和 length

NSRange range = NSMakeRange(content.length, 0);

[_textView scrollRangeToVisible:range];

------------------MAC技巧-----------------------------------

1.显示Mac隐藏文件的命令:   defaults write com apple.finder AppleShowAllFiles - bool true

2.隐藏Mac隐藏文件的命令:  defaults write com apple.finder AppleShowAllFiles - bool false

注意:需要重启  finder

-------------------------------------——-----------------------------------------------------------------

NSString ---- 保存时需要自定字符串编码

UIImage ---- 注意UIImage无法写入文件,需要使用NSData数据类型进行中转,NSData可以将任何类型的文件,以二进制格式存储

NSData *data = UIImagePNGRepresentation(image);   <   生成图像数据

时间: 2024-10-11 22:23:00

IOS学习笔记(五)数据存储的相关文章

Android 学习笔记之数据存储SharePreferenced+File

学习内容: Android的数据存储.... 1.使用SharedPreferences来保存和读取数据... 2.使用File中的I/O来完成对数据的存储和读取...   一个应用程序,经常需要与用户之间形成交互...需要保存用户的设置和用户的数据信息...这些都离不开数据的存储...Android的数据采用五种方式来进行存储...在这里就先介绍两种存储方式... 1.使用SharedPreferences存储数据...   对于软件配置参数的保存,Windows系统采用ini文件来进行保存,

ios学习笔记-数据持久化

沙盒 沙盒是一种数据安全策略,只允许自己的应用访问目录.可以使用NSHomeDirectory()获取. ios沙盒下有三个子目录: 1.Documents目录:用于存储比较大的文件活着需要频发女更新的数据,需要持久化的数据.获取代码: NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 2.Library目录:

android菜鸟学习笔记20----Android数据存储(四))Android数据库操作

Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便.SQLite与别的数据库不同的是,它没有数据类型.可以保存任何类型的数据到你所想要保存的任何表的任何列中.但它又支持常见的类型比如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB...等. 唯一的例外是:integer primary key 此字段只能存储64位整数. 在JAVA项目中,要使用JDBC操作数据库需要加载数据库驱动,连接数据库等操作.Android简化

Redis学习笔记2--Redis数据存储优化机制

1.zipmap优化hash: 前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个hash对象时开始是用zipmap来存储的.这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销.尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数量都不太多.所以使用zipmap也是很快的,也就是说添加删除平均还是O(1).如果field或者val

ThinkPHP 学习笔记 ( 五 ) 数据验证

根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制器: <?php class IndexAction extends Action { public function add(){ $articleObj = D("Article"); $rules = array( array('title','require','请填写标题'

android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化

Android内置了PULL解析器的XPP3实现,以及SAX解析器等,可以直接使用PULL或SAX解析XML,直接把JAVA中进行PULL或SAX解析的代码直接拿来用,遗忘的话,可以参考java拾遗1,2,3关于XML的解析: 如有如下XmlUtils类实现PULL方式解析XML到List和序列化List到XML: Student实体类代码: 1 package cn.csc.bean; 2 3 public class Student { 4 5 private String id; 6 7

iOS 学习笔记——0005(数据存储)

先发一个练手的小demo,自己写的简略通讯录,已上传至github https://github.com/liaoshaolim/addressBook 1.NSKeyedArchiver:(归档) 这里用一个添加联系人的例子来说明: 注意:归档形式保存数据,需要该对象遵守NSCoding协议,而且对应的必须提供encodeWithCoder和initWithCoder方法 因为归档是一次性的,解压也是一次性的,所以小量的ok,如果量大的话,改一个小地方就要归档或解压全部,效率会比较低 //用一

iOS学习笔记---oc语言第五天

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

ios学习笔记——数据持久化

一.沙盒 沙盒目录是一种数据安全策略,很多系统都采用沙盒设计. 沙盒目录设计的原理就是只能允许自己的应用程序访问目录,而不允许其他的应用访问. 1.Documents目录:该目录用于存储非常大的文件或非常频繁更新的数据,能够进行iTunes或iCloud的备份,获取目录位置的代码如下: 1 NSString * pathArr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) la

学习IOS开发UI篇--数据存储

iOS应用数据存储的常用方式 1.lXML属性列表(plist)归档 2.lPreference(偏好设置) 3.lNSKeyedArchiver归档(NSCoding) 4.lSQLite3 5.lCore Data Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在该目录 tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除.应用没有运行时,系统也可能会清除该目录下的文件.iTunes同步设备时