//
// 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

最新文章

  1. 在.net中读写config文件的各种方法
  2. Redis 3.0.0 集群部署
  3. 【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error &#39;numi_watchdog&#39; undeclared)
  4. 《OpenGL着色语言》理解点记录三
  5. codeforces 691D Swaps in Permutation DFS
  6. Spark Streaming揭秘 Day15 No Receivers方式思考
  7. jQuery树结构插件推荐zTree
  8. 读写锁ReadWriteLock和缓存实例
  9. SQLite入门与分析(五)---Page Cache之并发控制
  10. 关于ARP欺骗与MITM(中间人攻击)的一些笔记( 二 )
  11. http 协议的过程
  12. Java语言基础(三)
  13. 让ie支持placeholder属性,一段js搞定
  14. Loadrunner11.0调用Jar包
  15. Linux 下 HTTP连接超时
  16. Android Lollipop 5.0 经典新特性回顾
  17. Guitar Por如何演奏刮弦
  18. jetty去掉项目名称访问
  19. Linux可重入函数和线程安全的区别与联系(转)
  20. Velocity快速入门

热门文章

  1. Android中mesure过程详解
  2. android之WakeLock机制浅析
  3. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象
  4. 2016&quot;百度之星&quot; - 初赛(Astar Round2A) 1004 D Game 区间DP
  5. poj 3140(树形dp)
  6. cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
  7. javascript优化--02高质量编码
  8. QUnit使用笔记-1判断方法
  9. Codeforces 86C Genetic engineering(AC自动机+DP)
  10. JSTL 的 if else : 有 c:if 没有 else 的处理