IOS文件沙盒
在进行IPhone开发的时候,常常需要将简单的数据保存到文件中,以便下次再重新打开的时候能够读取文件中保存的数据。
下面就来做一个简单的demo:
步骤:
1.创建一个SingleView项目,带有xib文件,在xib面板上拖放两个文本框,和一个按钮
小提示:如何设置文本框编辑的时候能够点击键盘上的return键退出键盘?
- (IBAction)click:(id)sender {
[senderresignFirstResponder];
}
2.修改ViewController.m:
#import "DXWViewController.h" @interface DXWViewController () @end @implementation DXWViewController - (void)viewDidLoad
{
[super viewDidLoad];
//获得NSUserDefaults
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
//对NSUserDefaults进行赋值
// [user setObject:@"小明" forKey:@"name"];
// [user setInteger:20 forKey:@"age"];
// [user synchronize];//从缓存写入文件 //从NSUserDefaults通过key获取值
if ([user objectForKey:@"name"] != nil)
{
self.txtName.text = [user objectForKey:@"name"];
self.txtAge.text = [NSString stringWithFormat:@"%d",[user integerForKey:@"age"]];
}
} - (void)dealloc {
[_txtName release];
[_txtAge release];
[super dealloc];
}
- (IBAction)click:(id)sender {
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
[user setObject:self.txtName.text forKey:@"name"];
[user setInteger:[self.txtAge.text intValue] forKey:@"age"];
[user synchronize];//从缓存写入文件
}
如何寻找沙盒文件?
如何创建自定义文件名文件?
//获取沙盒文件路径
-(NSString *)getPath
{
//用来获得Document地址
NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);//注意:这里是NSDocument不是NSDocumentation,特别注意
NSLog(@"%@",arr);
//在地址上增加文件
NSString *path = [arr[0] stringByAppendingPathComponent:@"abc.plist"];
NSLog(@"%@",path);
return path;
}
//创建自定义文件,并存储或者获取文件中数据
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *arr = @[@"aaa",@"bbb",@"ccc"];
[arr writeToFile:[self getPath] atomically:YES];
//判断是否有文件
if([[NSFileManager defaultManager] fileExistsAtPath:[self getPath]])
{
arr = [NSArray arrayWithContentsOfFile:[self getPath]];
NSLog(@"%@",arr);
}
}
当开发一个应用要适应使用者还没点击保存,但一个电话打过来,要先接电话,所以就要让系统自动先保存当前的数据,适合实现?
//获取应用
UIApplication *app = [UIApplicationsharedApplication];
//在通知中心添加一个观察者,当符合UIApplicationWillResignActiveNotification条件时,调用方法
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(save:) name:UIApplicationWillResignActiveNotificationobject:app];
-(void)save:(id)sender
{
NSArray *arr = @[self.text1.text1,self.text2.text];
[arr writeToFile:[selfgetPath] atomically:YES];
}
IOS文件沙盒的更多相关文章
- IOS数据存储之文件沙盒存储
前言: 之前学习了数据存储的NSUserDefaults,归档和解档,对于项目开发中如果要存储一些文件,比如图片,音频,视频等文件的时候就需要用到文件存储了.文件沙盒存储主要存储非机密数据,大的数据. ...
- IOS应用沙盒文件操作
iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1 ...
- 关于ios项目沙盒中的文件和Xcode项目创建的文件
//1.1获取在Xcode项目打开的情况下创建的Plist文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"Profes ...
- 【iOS系列】-iOS查看沙盒文件图文教程(真机+模拟器)
[iOS系列]-iOS查看沙盒文件图文教程(真机+模拟器) 1:模拟器 1.1 方法1: 程序中打印一下的地址,能直接前往沙盒路径. NSString *path = [NSSearchPathFor ...
- iOS路径沙盒文件管理(转载)
iOS路径沙盒文件管理,看到博主总结的很好,转载过来,原文:http://www.aichengxu.com/view/35264 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文 ...
- IOS的沙盒机制
ios的沙盒(bandbox)机制:一种安全体系,ios应用程序只能对自己创建的应用程序进行读取文件,这个独立.封闭.安全的空间,就我们说的沙盒.它里面一般存放着你的程序需要的文件,数据持久化的一些文 ...
- 【转】【iOS系列】-iOS查看沙盒文件图文教程(真机+模拟器)
原文网址:http://www.cnblogs.com/fengtengfei/p/5090276.html 1:模拟器 1.1 方法1: 程序中打印一下的地址,能直接前往沙盒路径. NSString ...
- iOS 获取沙盒文件路径及 写入/删除 沙盒文件
出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致. 一.沙盒中 ...
- iOS开发--沙盒路径与操作文件
获取应用沙盒根路径: -(void)dirHome{ NSString *dirHome=NSHomeDirectory(); NSLog(@"app_home: %@",dirH ...
随机推荐
- mysql数据库中列转行
今天突然想到了数据库中的行专列与列转行,还不熟悉,在上网看了一下然后就自己写了个例子. 数据库表示这样滴! //全部查询出来SELECT (case type when 'MySql数据库' then ...
- SimpleXML 使用详细例子
要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制, 对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构造为一棵DOM 树,通过对DOM 树 ...
- jquery实现锚点动画效果
锚点相信大家都使用过吧!点击后僵硬的切换是不是很不爽呢? 下面分享一个小技巧,根据锚点offset值来实现动画切换 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- Date对象需要注意的点
var today=new Date(); Date对象取得了PC内部时钟的一个快照,并同时返回一个Date对象实例. 注意静态Date对象和Date对象实例的差别,后者包含一个实际的日期值.毫秒为单 ...
- .NET(C#):使用XPath查询带有命名空间(有xmlns)的XML
原文http://www.cnblogs.com/mgen/archive/2011/05/24/2056025.html 众所周知,XmlDocument可以进行XPath查询,但实际上这里所说的X ...
- openstack windows 2008 img
1,制作镜像主机pre Env yum -y install qemu-img virt-install libvirt 2,配置bridge
- JWPlayer 使用小记
最后的效果 1.从官网下载JWPlayer 下载后的文件,标红部分是必要的文件. 2.Jquery可以使用1.6以上版本 <html><head> <title>G ...
- swith 语句详解
switch 语句的格式: switch ( 整型或字符型变量 ) { case 变量可能值1 : 分支一; break; case 变量可能值2 : 分支二; break; case 变量可 ...
- BC第二场
GT and sequence Accepts: 385 Submissions: 1467 Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- linux下emacs安装
1.下载地址:http://ftp.gnu.org/pub/gnu/emacs/ 下载文件:emacs-24.2.tar.gz 步骤: 一.安装依赖文件: (先进入root:终端中输入 su -) ...