在进行IPhone开发的时候,常常需要将简单的数据保存到文件中,以便下次再重新打开的时候能够读取文件中保存的数据。

下面就来做一个简单的demo:

步骤:

1.创建一个SingleView项目,带有xib文件,在xib面板上拖放两个文本框,和一个按钮

小提示:如何设置文本框编辑的时候能够点击键盘上的return键退出键盘?

右击文本框,发现他的Did End On Exit事件,然后拖放到.h文件中,创建一个click事件

- (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];//从缓存写入文件
}


如何寻找沙盒文件?

点击mac系统上最上面一行的前往功能,然后按住alt键会显示出资源文件,该文件一般是隐藏的,前往->资源库->Application Support->iPhone Simulator->6.1->Applications->
选择自定义的文件->Library或者Documents(存储大数据,自定义文件名的文件都在这里面)

如何创建自定义文件名文件?

//获取沙盒文件路径

-(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文件沙盒的更多相关文章

  1. IOS数据存储之文件沙盒存储

    前言: 之前学习了数据存储的NSUserDefaults,归档和解档,对于项目开发中如果要存储一些文件,比如图片,音频,视频等文件的时候就需要用到文件存储了.文件沙盒存储主要存储非机密数据,大的数据. ...

  2. IOS应用沙盒文件操作

    iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1 ...

  3. 关于ios项目沙盒中的文件和Xcode项目创建的文件

    //1.1获取在Xcode项目打开的情况下创建的Plist文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"Profes ...

  4. 【iOS系列】-iOS查看沙盒文件图文教程(真机+模拟器)

    [iOS系列]-iOS查看沙盒文件图文教程(真机+模拟器) 1:模拟器 1.1 方法1: 程序中打印一下的地址,能直接前往沙盒路径. NSString *path = [NSSearchPathFor ...

  5. iOS路径沙盒文件管理(转载)

    iOS路径沙盒文件管理,看到博主总结的很好,转载过来,原文:http://www.aichengxu.com/view/35264 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文 ...

  6. IOS的沙盒机制

    ios的沙盒(bandbox)机制:一种安全体系,ios应用程序只能对自己创建的应用程序进行读取文件,这个独立.封闭.安全的空间,就我们说的沙盒.它里面一般存放着你的程序需要的文件,数据持久化的一些文 ...

  7. 【转】【iOS系列】-iOS查看沙盒文件图文教程(真机+模拟器)

    原文网址:http://www.cnblogs.com/fengtengfei/p/5090276.html 1:模拟器 1.1 方法1: 程序中打印一下的地址,能直接前往沙盒路径. NSString ...

  8. iOS 获取沙盒文件路径及 写入/删除 沙盒文件

    出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致. 一.沙盒中 ...

  9. iOS开发--沙盒路径与操作文件

    获取应用沙盒根路径: -(void)dirHome{ NSString *dirHome=NSHomeDirectory(); NSLog(@"app_home: %@",dirH ...

随机推荐

  1. The type javax.servlet.http.HttpServletRequest cannot be resolved.

    The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from ...

  2. A - A

    A - A Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status ...

  3. leetcode String to Integer (atoi) python

    class Solution(object): def myAtoi(self, str): """ :type str: str :rtype: int "& ...

  4. LineCalc,一个基于Lex&Yacc的简单行计算工具

    LineCalc是基于Lex&Yacc的一个简单的行计算工具,支持常见的运算符和部分POSIX中定义于math.h中的数学函数:同时,LineCalc还提供了一个简单的错误处理模块,能检测公式 ...

  5. 页面的拼装配置Appache SSI

    O(∩_∩)O哈哈哈~今天又遇到了一个好东西,记录一下下哈~ 一个网站,有些页面的头部跟尾部是相同的,还在为总是复制,为错了一个小小点而需要改好多个页面烦恼吗?现在我知道怎么来偷懒了! 1.首先找到c ...

  6. Python的maketrans() 方法

    描述 Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标. 注:两个字符 ...

  7. 四轴飞行器1.2.3 STM32F407时钟配置和升级标准库文件

    原创文章,欢迎转载,转载请注明出处 这个星期进度比较慢哈,只有周末和晚上下班回来才能做,事件不连续,琐碎的事情又比较多,挺烦的,有多琐碎呢?           1.本人有点小强迫症哈,虽然RTT将文 ...

  8. (Problem 19)Counting Sundays

    You are given the following information, but you may prefer to do some research for yourself. 1 Jan ...

  9. iPhone 5s网络钓鱼邮件,和苹果发布会同步亮相

    正如预期的一样,网络犯罪分子会利用Apple最新发表的iPhone 5s消息,几乎在苹果的新产品发表会同时,这个网络钓鱼(Phishing)信件开始流传.此次,趋势科技病毒防治中心 Trend Lab ...

  10. slave 成为master 时候执行的操作notify_master /etc/keepalived/send_master.sh

    slave:/root# cat /etc/keepalived/keepalived.conf global_defs { router_id MySQL-ha } vrrp_instance VI ...