在IOS中,我们常用[UIImage imageNamed]方法获取图像,这种方法简便,容易理解。但是有个缺点,就是有缓存。这种方式 传人的图像的就是通过文件名方式文件名。如果,我们内存有限,我们就必须考虑内存问题。 // imageNamed: 有缓存(传入文件名) UIImage *image = [UIImage imageNamed:filename]; 如果我们采用传人文件全路径的方式,imageWithContentsOfFile这种方法,就是没有缓存。 所谓文件的全路径是相对于手机,不是对于电脑。这个是要注意的 // imageWithContentsOfFile: 没有缓存(传入文件的全路径) NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:filename ofType:nil]; UIImage *image = [UIImage imageWithContentsOfFile:path];
//还补充其他:
我们一般会把数据放在一些文件中,如txt,plist
如果我们要从plist文件中获取数据,我们也可以采用全路径的方法。
NSBundle *bundle=[NSBundle mainBudle]; NSString *path=[path pathForResource:filename ofType:prlist]; _imgeData=[NSArray arrayWithContentsofFile:path]; 这是获取图片文件的方法, NSBundle *bundle=[NSBundle mainBudle]; NSString *path=[path pathForResource:filename ofType:nil]; _image=[UIIamge imageWithFile:path]; 其实oc的Foundaton框架,对这些方法都写得简单