IOS总结(二)

  • 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];
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,406评论 30 472
  • 循环引用:http://ios.jobbole.com/82077/类别的作用功能:1.扩充现有类的功能2.对现有...
    得一切从简阅读 3,511评论 0 1
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 5,307评论 1 27
  • 1,NSObject中description属性的意义,它可以重写吗?答案:每当 NSLog(@"")函数中出现 ...
    eightzg阅读 9,681评论 2 19
  • 前年暑假,实习刚结束,胖了一些。自己并不觉得有什么,倒是妈妈逢人便说我胖了不少,连同去买衣服对营业员说的第一句话都...
    阿南酱诶阅读 1,360评论 0 0

友情链接更多精彩内容