//
// RootViewController.m #import "RootViewController.h" @interface RootViewController ()
{
NSMutableArray * dataSource;
}
@end @implementation RootViewController -(void)createUI
{
NSArray * arr = @[@"NSNumber数据:",@"integer:",@"float:",@"double:",@"NSString数据:",@"NSDate数据:",@"NSArray数据:",@"NSDictionary数据:"];
for(int i = ;i<[arr count];i++)
{
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(, + * i, , )];
label.text = arr[i];
label.textAlignment = NSTextAlignmentRight;
[self.view addSubview:label];
[label release];
}
for(int i = ;i<[arr count];i++)
{
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(, + * i, , )];
label.tag = i;
label.textAlignment = NSTextAlignmentLeft;
label.backgroundColor = [UIColor cyanColor];
[self.view addSubview:label];
[label release];
}
}
//向userDefaults里面写入数据
-(void)writeUserDefaults
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSInteger i = ;
float f = 50.0f;
double d = 1000.0;
NSString * string = @"字符串";
NSArray * arr = @[@"hello",@"world"];
NSDictionary * dic = @{@"name":@"test",@"age":@""};
NSDate * date = [NSDate date];
//存入的数据 无论是可变的还是不可变的 读出来以后都是不可变的数据 [defaults setInteger:i forKey:@"int"];
[defaults setFloat:f forKey:@"float"];
[defaults setDouble:d forKey:@"double"];
//基本类型的数据存放在userDefaults以后都会自动转化成NSNumber
[defaults setObject:string forKey:@"string"];
[defaults setObject:arr forKey:@"array"];
[defaults setObject:dic forKey:@"dic"];
[defaults setObject:date forKey:@"date"];
//写入磁盘
[defaults synchronize];
}
//读数据
-(void)readUserDefaults
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
dataSource = [[NSMutableArray alloc]init];
NSString * intStr = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"int"]];
NSString * floatStr = [NSString stringWithFormat:@"%f",[defaults floatForKey:@"float"]];
NSString * doubleStr = [NSString stringWithFormat:@"%lf",[defaults doubleForKey:@"double"]];
NSString * stringStr = [defaults objectForKey:@"string"]; NSArray * arr = [defaults objectForKey:@"array"];
NSString * arrStr = [arr componentsJoinedByString:@" "]; NSDictionary * dic = [defaults objectForKey:@"dic"];
NSString * dicStr = [NSString stringWithFormat:@"name:%@,age:%@",[dic objectForKey:@"name"],[dic objectForKey:@"age"]]; NSDate * date = [defaults objectForKey:@"date"];
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString * dateStr = [formatter stringFromDate:date];
[formatter release]; [dataSource addObject:intStr];
[dataSource addObject:floatStr];
[dataSource addObject:doubleStr];
[dataSource addObject:stringStr];
[dataSource addObject:dateStr];
[dataSource addObject:arrStr];
[dataSource addObject:dicStr]; } - (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title = @"UserDefualts的用法";
self.view.backgroundColor = [UIColor brownColor];
UIBarButtonItem * item = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(pressBarBtn:)];
self.navigationItem.rightBarButtonItem = item;
[item release];
[self createUI]; [self writeUserDefaults];
[self readUserDefaults]; }
-(void)pressBarBtn:(id)sender
{
//查找沙盒目录的路径
NSArray * arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * path = [arr objectAtIndex:];
NSLog(@"%@",path); for(int i = ;i<[dataSource count];i++)
{
UILabel * lable = (UILabel *)[self.view viewWithTag:i + ];
lable.text = dataSource[i];
}
} @end

userDefaults的更多相关文章

  1. Swift: 用UserDefaults保存复杂对象

    一直木有看过这个细节,用UserDefaults是能不能存复杂一点的对象.大家可能都看到过UserDefaults的一个方法setObject: forKey:,用这个方法存过NSDictionary ...

  2. [Swift实际操作]七、常见概念-(10)使用UserDefaults和归档方式存取用户数据实际操作

    在项目开发之中,你会经常需要将一些数据存储在本地,以便记录用户生产的数据或操作习惯.在项目文件夹上带点击鼠标右键.弹出右键菜单.本文将为你演示,存储用户数据的两种常用方式. 选择菜单中的创建新文件选项 ...

  3. [MAC OS ] UserDefaults

    reference to : http://www.jianshu.com/p/d59b004b5ea7 1.用UserDefaults存储配置信息 注:本次使用UserDefaults存储信息是在不 ...

  4. swift--使用UserDefaults来进行本地数据存储

    UserDefaults适合轻量级的本地客户端存储,存储一个值,新值可以覆盖旧值,可以重复存储,也可以存储一次,然后直接从UserDefaults里面读取上次存储的信息,很方便,用的时候,宏定义下,直 ...

  5. 应用UserDefaults储存游戏分数和最高分

    应用UserDefaults储存游戏分数和最高分 我们在GameScene.swift里 private var currentScore:SKLabelNode! // 当前分数节点 private ...

  6. (三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果

    此<宇宙大战 Space Battle>SpirteKit手机游戏教程共分为三系列: (一)宇宙大战 Space Battle -- 新建场景Scene.精灵节点.Particle粒子及背 ...

  7. [Xcode 实际操作]七、文件与数据-(7 )使用UserDefaults检测App是否首次运行

    目录:[Swift]Xcode实际操作 本文将演示UserDefaults的使用,它常被用于存储程序的配置数据. 当关闭程序之后,再次打开程序时,之前存储的数据依然可以从UserDefaults里读取 ...

  8. [Swift通天遁地]五、高级扩展-(9)颜色、设备、UserDefaults、URL等扩展方法

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

随机推荐

  1. 归并排序(merge sort)

    M erge sort is based on the divide-and-conquer paradigm. Its worst-case running time has a lower ord ...

  2. cocos2dx实现象棋之运动

    1.头文件 void moveStone(int moveid, int killid, int x, int y); void moveComplete(CCNode*, void*); bool ...

  3. pyinstaller--将py文件转化成exe

    首先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行 1. 直接在命令行用pip安装 pyinstaller pip install pyinstaller</ ...

  4. Solr学习笔记(一)

    最近准备为一个产品做一个站内的搜索引擎,是一个java产品.由于原来做过Lucene.net,所以自然而然的就想到了使用Lucene.在复习Lucene的过程中发现了Solr这个和Lucene绑定在一 ...

  5. linux中断申请之request_threaded_irq

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21977330&id=3755609 在linux里,中断处理分 ...

  6. html5 (个人笔记)

    妙味 html5  1.0 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...

  7. Laravel框架数据库CURD操作、连贯操作

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...

  8. 电赛菜鸟营培训(五)——OLED屏幕的使用

    一.取模软件的使用 首先进行设置 然后可以生成显示这个字母的代码,列优先,先按列画8行,然后再继续画下一列.汉字为16*16,字母为8*8,对应生成相应个数的ox代码. 二.STM32烤写OLED # ...

  9. 【HTML5】Web存储

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...

  10. Spring的bean标签

    Spring框架中主要有四种标签bean.alias.import.beans,其中bean标签是其他标签的基础. 一.bean标签的属性 scope:用来配置spring bean的作用域 sing ...