-
1什么是Plist文件?如何解析Plist文件
-
一般可以使用属性列表文件存储NSArray或者NSDictionary之类的数据,这种“属性列表文件”扩展名是plist,因此也称为“plist文件”
-
解析plist文件
- 获取plist文件的全路径
NSBundle *bundle = [NSBundle mainBundle]'; NSString *path = [bundle pathForResource:@"shops" ofType:@"plist"];
- 加载plist文件
_shop = [NSArray arrayWithContentsOfFile:path];
-
2.UIScrollView无法滚动的解决办法
-
如果UIScrollView无法滚动,可能是以下原因:
1.没有设置contentSize
2.scrollEnabled = NO
3.没有接收到触摸时间:userInteractionEnabled = NO
... ... -
3.用模型取代字典的好处
-
使用字典的坏处
一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编辑器没有智能提示,需要手敲
手敲字符串key,key容易写错
key如果写错了,编译器不会有任何警告和报错,造成设差数据或者去错数据
- 使用模型的好处
模型是专门用来存放数据的对象,用它来表示数据会更加的专业
模型设置数据和取出数据都是通过他的属性,属性如果写错了,编译器会马上报错,因此,保证了数据的正确性
使用模型访问属性时,编译器会提供一系列的提示,提高编码效率
- 4.Xib和storyboard对比
- 相同点:
1.都是用来描述软件界面
2.都用Interface Builder工具来编辑
3.本质都是转换成代码去创建控件
- 不同点
1.Xib是轻量级的,用来描述局部的UI界面
2.Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系
- 5.如何创建一个控制器
- 控制器常见的创建方式有以下几种
1.通过storyboard创建
2.直接创建
LCViewController *lc = [LCViewController alloc] init];
3.指定xib文件来创建
LCViewController *lc = [LCViewController alloc] initWithNibName:@"LCViewController" bundle:nil];
- 6.应用沙盒目录的常见获取方式
- 沙盒根目录:
NSString *home = NSHomeDirectory();
- Documents:(2种方式)
- 利用沙盒根目录拼接“Documents”字符串
(不建议采用,因为新版本的操作系统可能会修改目录名)NSString *documents = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
- 利用NSSearchPathForDirectoriesInDomain函数
// NSUserDomainMask 代表从用户文件夹下找 // YES 代表展开路径中的波浪字符“~” NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, NO); // 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素 NSString *documents = [array objectAtIndex:0];
网友评论