//
// 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. Material Design综合实例

    背景知识 drawlayout的使用 recycleView的使用 CardView的使用 一些开源动画库的使用 ImageView的scaleType属性与adjustViewBounds属性 ,参 ...

  2. linux rdsktop 运程管理 windows

    [root@ok ISO]# yum list |grep rdesktop rdesktop.x86_64 1.7.1-1.el6 base [root@ok ISO]# yum install r ...

  3. mysql中char,varchar,text区别总结

    具体对这三种类型的说明不做阐述可以查看mysql帮助文档. char的总结:      char最大长度是255字符,注意是字符数和字符集没关系.可以有默认值,尾部有空格会被截断.varchar的总结 ...

  4. Web Service 其他服务器检测不到查询测试按钮

    1.Web Service 其他服务器检测不到查询测试按钮,config需要修改地方: <system.web> <webServices> <protocols> ...

  5. wp8 --未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出

    今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目,但是并没有像之前那样顺利的创建页面,而是弹出了一个错误窗口. 我的系统是win8专业版 64位 ,同时 ...

  6. 动态链接库(dll)简介(转)

    DLL 是 Dynamic Link Library 的缩写,译为“动态链接库”.DLL也是一个被编译过的二进制程序,可以被其他程序调用,但与 exe 不同,DLL不能独立运行,必须由其他程序调用载入 ...

  7. Android系统自带样式(@android:style/) (转)

    摘自:http://blog.csdn.net/hongya1109110121/article/details/11985545 在AndroidManifest.xml文件的activity中配置 ...

  8. C++的那些事:表达式与语句

    表达式 1,应该把函数调用当作是一种运算符,这种运算符对参与运算的对象没有数量限制. 2,关于“左值(lvalue)”和“右值(rvalue)”可以做一个简单的归纳:当一个对象被用作右值的时候,用的是 ...

  9. 从维度理解dp问题

    对于dp,我目前的理解就是,干成题目中的那件事需要作出若干次决策,然后你要取其中最优的结果,我们可以用深搜来递归地找最优解,然后我们来观察一下这个递归树的形状,如果它能从底往上直接递推的话,就不用递归 ...

  10. 使用sqljdbc连接mssql数据库,maven生成jar运行后报"Exception in thread "main" java.lang.SecurityException"错误

    错误信息如下: Exception in thread "main" java.lang.SecurityException: Invalid signature file dig ...