【NSBundle】、【加载文件为空】、【pathForResource为nil】、【pathForResource为空】

背景需要:

把文件直接添加项目中,然后在项目中使用,这就涉及到一个概念,此时该文件是作为一个资源文件来加载的。

一般是三步走:

(1)通过文件名称(NSString)获取到该文件在项目中的路径urlPath(NSString)

(2)将urlPath转换为url(NSURL)

(3)通过url获取到data(NSData)

代码如下所示:

NSString *fileName = path;
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"dfu"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];
NSData *fileData = [NSData dataWithContentsOfURL:fileUrl];

异常1: 

如果在获取filePath的时候,为nil,则很大的可能是项目中的该文件没有添加到「资源列表」中。因此在添加此文件到项目中时,选项应该如下:

当然,补救措施就是在如下图所示的位置将该文件「添加」进去:

posted @ 2022-03-07 16:58  码出境界  阅读(300)  评论(0)    收藏  举报