imageNamed: // 有缓存
imageWithContentsOfFile: // 没有缓存
imageNamed: 可以加载 bundle 中任意位置的图片,包括 main bundle 中其他 bundle 的。
1、如果图片文件名在缓存池中存在,就直接创建对象并返回;
2、如果不存在,就从 bundle 中加载图片数据,创建对象并返回;
3、如果不存在,返回 nil 。
imageWithContentsOfFile: 没有缓存,必须传入图片文件的 全名(全路径+文件名),并且 无法加载 Images.xcassets 中的图片。
Images.xcassets 在app打包以后,以Asses.car 文件形式出现在bundle中。
其中的图片只能通过 UIImage 的 imageNamed: 方法加载,通过 NSBundle 的 pathForResource:ofType: 无法获得图片路径。只适合存放内存小的图片资源,不然会造成界面卡顿。