userDefaults
//
// 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的更多相关文章
- Swift: 用UserDefaults保存复杂对象
一直木有看过这个细节,用UserDefaults是能不能存复杂一点的对象.大家可能都看到过UserDefaults的一个方法setObject: forKey:,用这个方法存过NSDictionary ...
- [Swift实际操作]七、常见概念-(10)使用UserDefaults和归档方式存取用户数据实际操作
在项目开发之中,你会经常需要将一些数据存储在本地,以便记录用户生产的数据或操作习惯.在项目文件夹上带点击鼠标右键.弹出右键菜单.本文将为你演示,存储用户数据的两种常用方式. 选择菜单中的创建新文件选项 ...
- [MAC OS ] UserDefaults
reference to : http://www.jianshu.com/p/d59b004b5ea7 1.用UserDefaults存储配置信息 注:本次使用UserDefaults存储信息是在不 ...
- swift--使用UserDefaults来进行本地数据存储
UserDefaults适合轻量级的本地客户端存储,存储一个值,新值可以覆盖旧值,可以重复存储,也可以存储一次,然后直接从UserDefaults里面读取上次存储的信息,很方便,用的时候,宏定义下,直 ...
- 应用UserDefaults储存游戏分数和最高分
应用UserDefaults储存游戏分数和最高分 我们在GameScene.swift里 private var currentScore:SKLabelNode! // 当前分数节点 private ...
- (三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果
此<宇宙大战 Space Battle>SpirteKit手机游戏教程共分为三系列: (一)宇宙大战 Space Battle -- 新建场景Scene.精灵节点.Particle粒子及背 ...
- [Xcode 实际操作]七、文件与数据-(7 )使用UserDefaults检测App是否首次运行
目录:[Swift]Xcode实际操作 本文将演示UserDefaults的使用,它常被用于存储程序的配置数据. 当关闭程序之后,再次打开程序时,之前存储的数据依然可以从UserDefaults里读取 ...
- [Swift通天遁地]五、高级扩展-(9)颜色、设备、UserDefaults、URL等扩展方法
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- iOS--->微信支付小结
iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...
随机推荐
- 配置无线网络的时候会提示“Enter Password for Default Keyring to Unlock”
密钥管理软件Seahorse有关,这个时候我们打开c配置一下就可以解决. 命令行下运行seahorse或依次点击菜单“应用程序→附件→密码和加密密钥”, 在login一行中右键选择更改密码,然后什么都 ...
- index index.html index.htm index.php
server { listen 80; server_name localhost; index index.html index.htm index.php;#前后顺序有关系,越在前优先级别越高 r ...
- mysql php nginx 源码包下载地址
http://mirror.cogentco.com/pub/mysql/MySQL-5.5/ http://mirrors.sohu.com/php/ http://nginx.org/downlo ...
- context switches per second 上下文切换
上下文切换对系统来说意味着消耗大量的CPU时间.上下文切换只发生在内核态中.内核态是CPU的一种有特权的模式,在这种模式下只有内核运行并且可以访问所有内存和其它系统资源.
- mongoDb学习以及spring管理
1.windows下的安装http://www.cnblogs.com/liuzhiying/p/5915741.html 2.慕课网学习单机操作mongoDb 赋权限:http://blog.csd ...
- float数据在内存中是怎么存储的 AND IEEE754测试程序
float类型数字在计算机中用4个字节存储.遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e 底数部分 使用二进制数来表示此浮点数的实际值指数部分 占用8bit的二进制数,可表示 ...
- WinForm下窗体标题栏上有“帮助”按钮
将FormBorderStyle设置为Sizable. 最大化和最小化设置为false helpbutton 设置为true
- 微信SDK开发学习
public class MainActivity extends Activity { // 应用程序的id,就是在网上开发平台创建应用的appid public static final Stri ...
- DP ZOJ 3735 Josephina and RPG
题目传送门 题意:告诉你C(m,3)个队伍相互之间的胜率,然后要你依次对战n个AI队伍,首先任选一种队伍,然后战胜一个AI后可以选择替换成AI的队伍,也可以不换,问你最后最大的胜率是多少. 分析:dp ...
- 清除 WD MyCloud 自动生成的 .wdmc 目录
1. 先 SSH,停止相应服务 /etc/init.d/wdmcserverd stop/etc/init.d/wdphotodbmergerd stop 2. 禁止服务自启动 update-rc.d ...