NSBundle
- 一個(gè)NSBundle對(duì)象對(duì)應(yīng)一個(gè)資源包(圖片、音頻、視頻、plist等文件)
- NSBundle的作用:用來訪問與之對(duì)應(yīng)的資源包中的文件,可以用來獲得文件的全路徑
- 項(xiàng)目中添加的資源都會(huì)被添加到主資源包中
[NSBundle mainBundle]關(guān)聯(lián)的就是項(xiàng)目的主資源包
NSString *file = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"extension name"];
- 項(xiàng)目中的黃色文件夾是虛擬的,不是真是的,打包軟件的時(shí)候統(tǒng)一放在根目錄下面。
- 但是如果是藍(lán)色的文件夾,那么打包的時(shí)候是真的存在的,那么使用NSBundle的時(shí)候需要加入路徑
- 自定義的plist文件的文件名不能叫info.plist
有文件不能使用的時(shí)候
- 項(xiàng)目中的某個(gè).m 或者.h文件不能使用
- 檢查:Build Phases -> Complie Sources
- 項(xiàng)目中的某個(gè)資源文件(比如plist、音頻等)無法使用
- 檢查:Build Phases -> Copy Bundle Resources
懶加載
程序中可能有很多數(shù)據(jù),不需要在viewDidLoad的時(shí)候就去加載,只需要在用到的時(shí)候加載就行,這個(gè)時(shí)候就需要用到懶加載的方法。
用到時(shí)才去加載,而且只加載一次
@property(nonatomic, strong) NSArray *plistData;
- (NSArray *)plistData
{
if(_plistData == nil){
}
return _plistData;
}