IOS总结(二)

作者: 梦醒繁华 | 来源:发表于2016-09-03 15:50 被阅读101次
  • 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];
    

相关文章

  • iOS开发经验

    多年iOS开发经验总结(一) 多年iOS开发经验总结(二) 多年iOS开发经验总结(三)

  • iOS资源

    iOS开发200个tips总结(一) iOS开发200个tips总结(二) iOS中NSFileManager文件...

  • iOS底层原理总结-- KVO/KVC的本质

    iOS底层原理总结--OC对象的本质(一) - 掘金 iOS底层原理总结--OC对象的本质(二) - 掘金 iOS...

  • iOS 面试题

    2020年iOS大厂面试题总结(一) 2020年iOS大厂面试题总结(二) iOS面试,简述性能优化 阿里字节搞笑...

  • Block

    xx_cc iOS底层原理总结 - 探寻block的本质(一)iOS底层原理总结 - 探寻block的本质(二) ...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • 阿里腾讯头条美团等iOS面试总结

    阿里iOS面试总结 头条iOS面试总结 腾讯iOS面试总结 百度iOS面试总结 美团iOS面试总结

  • 面试题转载

    iOS面试了20几家总结出来的面试题iOS面试了20几家总结出来的面试题(二)

  • iOS原生二维码的生成与扫描

    前沿 * 这是对iOS原生二维码生成与扫描的总结 (之所以在此做总结:是为了方便更多的人去很好的使用iOS原生二维...

  • 关于iOS中原生和h5交互的知识总结(二)WKWebView

    前言 目录 关于iOS中原生和h5交互的知识总结(一)UIWebView关于iOS中原生和h5交互的知识总结(二)...

网友评论

    本文标题:IOS总结(二)

    本文链接:https://www.haomeiwen.com/subject/fdvkettx.html