简单阐述下OC中UIImage三种创建方式~~~

Posted 呦呦Code

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单阐述下OC中UIImage三种创建方式~~~相关的知识,希望对你有一定的参考价值。

一. 直接使用imageNamed进行创建

 1 UIImage * image = [UIImage imageNamed:@"1.jpg"]; 

简单说一下这种方式的优缺点:

优点:代码量少,一行代码就可以搞定。当程序中多次加载这张图片时,系统会指向同一块内存,这样可以提升效率。

缺点:系统每次会将图片缓存到计算机的内存中去,如果图片非常大,非常多,会消耗很大的计算机内存,会出现卡顿的现象。

 

二.将本地图片转换成NSData类型存储

1     NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"jpg"];
2     NSData *imageData = [NSData dataWithContentsOfFile:filePath];
3     UIImage *image1 = [UIImage imageWithData:imageData];

优点:图片会被系统以数据的方式加载到程序中,当你不需要重复使用一个图片或者你需要加载大量的图片,不会大量消耗计算机内存,使用这种方式。

缺点:代码量较多,没有第一种简单。

 

三.通过NSURL获取网络图片

1     NSURL *url = [NSURL URLWithString:PATH];
2     NSData *imageData = [NSData dataWithContentsOfURL:url];
3     UIImage *image = [UIImage imageWithData:imageData];

上面的PATH是网络图片的地址。

这种方式的优缺点跟第二种应该是一样的,区别就在于获取图片的方式不一样。

以上是关于简单阐述下OC中UIImage三种创建方式~~~的主要内容,如果未能解决你的问题,请参考以下文章

iOS - OC 与 JS 交互六种方式总结

Swift:创建 UIImage 数组

在OC项目中使用Swift(OC、Swift混编,简单明了)

黑苹果硬件指南--Intel 10代配置推荐

从 UIView 以编程方式创建 UIImage

SSO三种情况的实现方式