簡體   English   中英

無法使用UIImage或NSData加載圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM