我在運行時下載了一個資源。圖像駐留在「緩存」目錄中的某個子文件夾中。如何從無文件的文件中將圖像加載到UIImage
當我知道該文件的路徑時,如何將圖像加載到UIImage,圖像是「PNG」類型,但它沒有擴展名?
我看不到的UIImage的任何構造函數取文件作爲參數的類型,所以我認爲這可能是棘手的一個
我在運行時下載了一個資源。圖像駐留在「緩存」目錄中的某個子文件夾中。如何從無文件的文件中將圖像加載到UIImage
當我知道該文件的路徑時,如何將圖像加載到UIImage,圖像是「PNG」類型,但它沒有擴展名?
我看不到的UIImage的任何構造函數取文件作爲參數的類型,所以我認爲這可能是棘手的一個
不,這並不難,只要先加載數據。 這裏的cacheURL
是該文件的NSURL
。
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:cacheURL options:NSDataReadingMapped error:&error];
現在你可以檢查文件是否可以加載:
if (data) {
image = [UIImage imageWithData:data];
}
代碼是在Objective-C,因爲我剛剛從舊項目複製,但應該易於轉換爲斯威夫特。
由於您的文件已經下載
let path = "theFilePath"
if let data = NSData(contentsOfFile: path) {
let image = UIImage(data: data as Data)
}