NSBundle和懒加载

NSBundle

  • 一个NSBundle对象对应一个资源包(图片、音频、视频、plist等文件)
  • NSBundle的作用:用来访问与之对应的资源包中的文件,可以用来获得文件的全路径
  • 项目中添加的资源都会被添加到主资源包中
  • [NSBundle mainBundle]关联的就是项目的主资源包
NSString *file = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"extension name"];
  • 项目中的黄色文件夹是虚拟的,不是真是的,打包软件的时候统一放在根目录下面。
  • 但是如果是蓝色的文件夹,那么打包的时候是真的存在的,那么使用NSBundle的时候需要加入路径
  • 自定义的plist文件的文件名不能叫info.plist

有文件不能使用的时候

  • 项目中的某个.m 或者.h文件不能使用
    • 检查:Build Phases -> Complie Sources
  • 项目中的某个资源文件(比如plist、音频等)无法使用
    • 检查:Build Phases -> Copy Bundle Resources

懒加载

程序中可能有很多数据,不需要在viewDidLoad的时候就去加载,只需要在用到的时候加载就行,这个时候就需要用到懒加载的方法。

用到时才去加载,而且只加载一次

@property(nonatomic, strong) NSArray *plistData;
- (NSArray *)plistData
{
    if(_plistData == nil){
    }
    return _plistData;
}

你可能感兴趣的:(NSBundle和懒加载)