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 varchar和char类型
varchar和char是两种最主要的字符串类型.不幸的是,很难精确地解释这些值是怎么储存在磁盘和内存中的,因为这根存储引擎的具体实现有关.下面的描述假设使用的存储引擎是InnoDB或者MyISAM. ...
- 十大最值得注意的MySQL变量
MySQL数据库中的变量非常多,下文为您整理出了十大最值得注意的MySQL变量,希望对您学习MySQL数据库能够有一些帮助. AD: MySQL变量很多,其中有一些MySQL变量非常值得我们注意,下面 ...
- ExtJS 修改load paging时的参数
ExtJS 的pagingToolbar 在翻页的时候传入的参数是固定的 分别是start 和 limit(其中limit的值就是store.pageSize的值) 如何在每次翻页的时候传入自己的参 ...
- Windows XP密钥(共38枚)
翱翔博客(http://hi.baidu.com/guoguo6688/home) Windows XP Professional VOL版密钥:=========================== ...
- Qt在windows与Mac OS中获取执行程序版本号
1 windows中获取执行文件exe的版本号 QString GetFileVertion(QString aFullName) { QString vRetVersion; string vF ...
- JavaEE Tutorials (14) - 用实体图创建获取计划
14.1实体图基础185 14.1.1默认实体图186 14.1.2在持久化操作中使用实体图18614.2使用命名实体图187 14.2.1对实体类应用命名实体图注解187 14.2.2从命名实体图获 ...
- Socket编程指南及示例程序
例子代码就在我的博客中,包括六个UDP和TCP发送接受的cpp文件,一个基于MFC的局域网聊天小工具工程,和此小工具的所有运行时库.资源和执行程序.代码的压缩包位置是http://www.blogja ...
- HDU 5773 The All-purpose Zero(树状数组)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5773 [题目大意] 给出一个非负整数序列,其中的0可以替换成任意整数,问替换后的最长严格上升序列长 ...
- Euromonitor 2013年奢侈品报告精选 |华丽志
Euromonitor 2013年奢侈品报告精选 |华丽志 Euromonitor 2013年奢侈品报告精选
- vim之执行shell命令
vim中执行shell命令,有以下几种形式 (1) :!command 不退出vim, 并执行shell命令command, 将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 (2) ...