[英]Can't load image with UIImage or NSData
我正在編寫一個Swift應用程序,但無法使用UIImage(contentsOfFile: imgPath)
或NSData(contentsOfFile: imgPath)
加載保存在應用程序中的圖像
private func loadData() {
println("load DATA DANGEROUS")
let (dangerous, err) = SD.executeQuery("SELECT * FROM Dangerous")
if err == nil && !dangerous.isEmpty {
var tabPhoto : [DangerousImage] = []
for d in dangerous {
let desc = d["description"]!.asString()!
let idDangerous = d["id"]!.asInt()!
println("iddangerous : \(idDangerous)")
let (photos, error) = SD.executeQuery("SELECT * FROM Photo WHERE idDangerous = ?", withArgs: [idDangerous])
if error == nil {
for photo in photos {
let imgPath = photo["photoPath"]!.asString()!
println(imgPath)
let uimage = UIImage(contentsOfFile: imgPath) // fatal error: unexpectedly found nil while unwrapping an Optional value
tabPhoto.append(DangerousImage(img: uimage!, path: imgPath))
}
}
println("add ENTRY")
self.tabEntry.append(Entry(descript: desc, tab: tabPhoto))
}
}
println("TAB ENTRY : \(tabEntry)")
}
我的圖片存在以下路徑:/ /var/mobile/Containers/Data/Application/...ID-APP.../Documents/images/JPEG_201506162_101128_IOS_99804574.jpg
謝謝您幫忙。
Ysee
從我的代碼中可以看出,您正在將圖像的完整路徑存儲在數據庫中。 “ / var / mobile /容器/數據/應用程序/...ID-APP.../文檔/圖像/JPEG_201506162_101128_IOS_99804574.jpg” 。 自iOS8起,文件夾結構已更改-每次在開發過程中更新應用程序或安裝新版本時,路徑中的UDID都會更改。 這就是為什么應該存儲圖像的相對路徑的原因。 “ /images/JPEG_201506162_101128_IOS_99804574.jpg” ,然后使用NSSearchPathForDirectoriesInDomains
方法獲取Documents目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.