关于dataWithContentsOfURL获取项目图片,取值为空的问题

969 阅读1分钟

前言

这是一个很普通的问题,但是遇到的时候还是要花功夫去看的问题,记录一下,方便他人

正文

dataWithContentsOfURL是可以通过一个固定的URL,将路径的文件转换成NSData类型的方法,然而实际操作的时候会有几个坑需要注意,这里只讲解一下关于取本地文件时需要注意的点。

第一

获取本地文件的时候,需要在info.plist中添加一个对应的key 在这里插入图片描述 如果没有添加,会导致取值为空

第二

如果你取得文件过大,是无法通过这个方法获取到的,需要通过其他方法进行,再次不过多进行这方面的讨论,方法为

inputStreamWithURL:

第三

由于是获取本地路径的文件,因此URL的格式是有限制的,不能是单纯的URLWithString的方式获取,因为会缺少一定的格式,这样会导致无法正常使用,经过实际打印会发现缺少前缀file:///,因此为了保险起见,建议使用

NSString *str = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"gif"];
[NSURL fileURLWithPath:str]

的方式获取

结语

至此,本次发现该处API使用的坑就填到这里,如果有其他该处出现的坑,欢迎相互补充