批量加载图片资源时模拟器的显示而真机不显示的小问题

在IOS开发中,有时候需要批量加载一个文件夹的所有资源,这时候会用到

NSArray *ary = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] pathForResource:@"folderName" ofType:nil] error:nil];

这个可以获得所有的文件夹下的文件名数组,如果是一堆图片时,可能你会粗心的这样调用

for(NSString *imageName in ary)

{

UIImage *image = [[UIImage alloc] imageName:imageName];

//IMAGE进行操作,运行后模拟器上会显示出来图片,但是真机上就不行了

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

[view addSubView:imageView];

}

正确的操作应该是这样的:

NSString *path = [[NSBundle mainBundle] resourcePath];

        

        path = [path stringByAppendingPathComponent:@"folderName"];

        path = [path stringByAppendingPathComponent:[ary objectAtIndex:i]];

        UIImage *image = [UIImage imageWithContentsOfFile:path];

//这时候真机上就没问题了

这种读取文件的低级错误有时候会让人头痛老半天,希望不会有和俺一样的朋友犯这样的错误,呵呵...



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值