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;
}