imageNamed: // 有緩存
imageWithContentsOfFile: // 沒有緩存
imageNamed: 可以加載 bundle 中任意位置的圖片,包括 main bundle 中其他 bundle 的。
1、如果圖片文件名在緩存池中存在,就直接創(chuàng)建對(duì)象并返回;
2、如果不存在,就從 bundle 中加載圖片數(shù)據(jù),創(chuàng)建對(duì)象并返回;
3、如果不存在,返回 nil 。
imageWithContentsOfFile: 沒有緩存,必須傳入圖片文件的 全名(全路徑+文件名),并且 無法加載 Images.xcassets 中的圖片。
Images.xcassets 在app打包以后,以Asses.car 文件形式出現(xiàn)在bundle中。
其中的圖片只能通過 UIImage 的 imageNamed: 方法加載,通過 NSBundle 的 pathForResource:ofType: 無法獲得圖片路徑。只適合存放內(nèi)存小的圖片資源,不然會(huì)造成界面卡頓。