UIImage加載圖片的方式以及Images.xcassets對於加載方法的影響緩存
根據是否將建立好的對象緩存入系統內存,有兩類建立UIImage
對象的方法可選:app
+ imageNamed:
,只需傳入文件名.擴展名(可選)便可。+ imageWithContentsOfFile:
,必須傳入文件的全名(全路徑+文件名)。注意,對於有緩存功能的方法來講,其建立對象的步驟以下:ui
UIImage
對象,若存在這個對象,將此對象返回。Images.xcassets
在app打包後,以Assets.car
文件的形式出如今bundle中。其做用在於:spa
注意code
Images.xcassets
中的圖片資源只能經過imageNamed:
方法加載,經過NSBundle的pathForResource:ofType:
沒法得到圖片路徑。所以,Images.xcassets
只適合存放系統經常使用的,佔用內存小的圖片資源。imageNamed:
方法一樣能夠加載根目錄中的圖片資源。imageWithContentsOfFile:
方法以不緩存的形式加載圖片,必須將圖片資源放置在根目錄
中。Images.xcassets
之外的地方加載圖片,必須在文件名後加擴展名,例如:// pic.jpg處於根目錄下 [UIImage imageNamed:@"pic"]; // 錯誤,圖片未能正確加載 [UIImage imageNamed:@"pic.jpg"]; // 正確