多控制器-4

2017-02-21  本文已影响0人  CoderZXS

笔记

01-详情页-界面搭建-.jpg 02-详情页-导航控制器注意点-.jpg 03-详情页-组悬停功能分析-.jpg 04-详情页-详情页完整实现-.jpg 05-详情页-业务逻辑处理-.jpg 06-详情页-导航条业务-.jpg 07-UITabBarController的基本使用.jpg 08-UITabBarController管理原则.jpg 09-非流框架搭建与主流框架.jpg 10-modal.jpg 11-plist存储.jpg 12-偏好设置.jpg 13-归档.jpg

PPT

1-应用沙盒

/Users/apple/Library/Application Support/iPhone Simulator/8.0/Applications

应用沙盒结构分析

1.体积大(itunes不会备份)
1> tmp(里面的内容可能会被系统随机清除)
2> Library/Caches
2.体积小(itunes会备份)
1> Documents
2> Library/Preference

应用沙盒目录的常见获取方式

NSString *home = NSHomeDirectory();
NSString *documents = [home stringByAppendingPathComponent:@"Documents"];
// 不建议采用,因为新版本的操作系统可能会修改目录名
- 利用NSSearchPathForDirectoriesInDomains函数
// NSUserDomainMask 代表从用户文件夹下找
// YES 代表展开路径中的波浪字符“~”
NSArray *array =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, NO);
// 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素
NSString *documents = [array objectAtIndex:0];
/Users/用户名/Library/Application Support/iPhone Simulator/6.1/Applications
/Users/用户名/资源库/Application Support/iPhone Simulator/6.1/Applications

2-数据存储

iOS应用数据存储的常用方式

属性列表

属性列表-归档NSDictionary
// 将数据封装成字典
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"母鸡" forKey:@"name"];
[dict setObject:@"15013141314" forKey:@"phone"];
[dict setObject:@"27" forKey:@"age"];
// 将字典持久化到Documents/stu.plist文件中
[dict writeToFile:path atomically:YES];
属性列表-恢复NSDictionary
// 读取Documents/stu.plist的内容,实例化NSDictionary
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
NSLog(@"name:%@", [dict objectForKey:@"name"]);
NSLog(@"phone:%@", [dict objectForKey:@"phone"]);
NSLog(@"age:%@", [dict objectForKey:@"age"]);
图片 1.jpg
属性列表-NSDictionary的存储和读取过程
Snip20170223_1.png

偏好设置

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"itcast" forKey:@"username"];
[defaults setFloat:18.0f forKey:@"text_size"];
[defaults setBool:YES forKey:@"auto_login"];
图片 1.jpg
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *username = [defaults stringForKey:@"username"];
float textSize = [defaults floatForKey:@"text_size"];
BOOL autoLogin = [defaults boolForKey:@"auto_login"];
    [defaults synchornize];

NSKeyedArchiver

NSKeyedArchiver-归档NSArray
Snip20170223_2.png Snip20170223_4.png Snip20170223_5.png Snip20170223_6.png Snip20170223_7.png Snip20170223_8.png Snip20170223_9.png Snip20170223_10.png Snip20170223_11.png Snip20170223_12.png Snip20170223_13.png Snip20170223_14.png Snip20170223_15.png Snip20170223_16.png Snip20170223_17.png Snip20170223_18.png Snip20170223_19.png Snip20170223_20.png Snip20170223_22.png Snip20170223_23.png Snip20170223_24.png Snip20170223_25.png Snip20170223_26.png Snip20170223_27.png Snip20170223_28.png Snip20170223_29.png Snip20170223_30.png Snip20170223_31.png Snip20170223_32.png Snip20170223_33.png Snip20170223_34.png Snip20170223_35.png Snip20170223_36.png Snip20170223_37.png Snip20170223_38.png

总结

NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"shops" ofType:@"plist"
_shops = [NSArray arrayWithContentsOfFile:path];
上一篇 下一篇

猜你喜欢

热点阅读