【发布时间】:2016-02-22 11:33:34
【问题描述】:
首先我将图像转换为NSData,并在fmdb(飞肉数据库)的帮助下以sqlite blob的形式插入到sqlite数据库中。
然后我取回了 NSData,但是在将 NSData 转换为 UIImage 时,我收到一个错误“fatal error: unexpectedly found nil while unwrapping an Optional value”。
var imageData = String()
let countryDB = FMDatabase(path: databasePath as String )
if countryDB.open() {
let querySQL = "SELECT USERIMAGE FROM USERINFO WHERE ID = \((1))"
let results:FMResultSet? = countryDB.executeQuery(querySQL,
withArgumentsInArray: nil)
if results?.next() == true
{
let correctPicture = (results?.dataForColumn("USERIMAGE"))!
print(correctPicture)
let memberPiC : UIImage = UIImage(data: correctPicture)!
print(memberPiC)
} else {
print("record not found")
}
countryDB.close()
} else {
print("Error: \(countryDB.lastErrorMessage())")
}
这是我用来保存图片的代码
func saveData()
{
var data = NSData()
let contactDB = FMDatabase(path : databasePath as String)
let image = UIImage(named: "back.png")
print(image)
if let unwrappedImage = image {
data = UIImageJPEGRepresentation(unwrappedImage, 1.0)!
print("data" , data)
if contactDB.open()
{
let insertQuery = "INSERT INTO USERINFO( userimage) VALUES('\((data))')"
let result = contactDB.executeUpdate(insertQuery, withArgumentsInArray: nil)
if !result {
print("Error: \(contactDB.lastErrorMessage())")
} else {
}
}
else {
print("Error: \(contactDB.lastErrorMessage())")
}
}
}
【问题讨论】:
-
nope..correctpic 是 NSdata 的类型,而不是图像...& 它包含我之前在 sqlite 中输入的所有 imageData
-
你能把一些代码作为代码发布吗?使复制/粘贴更容易。问题可能是
UIImage无法使用correctPicture进行初始化,并且它被!强制导致崩溃。可以推断correctPicture的数据不能转换成UIImage。 -
我发布了我的部分代码...感谢您的回复:)
-
np。这些数据是如何插入到
FMDatabase中的?你是手动输入的吗? -
我在 swift 代码中编写了插入查询,并在 fmdb 的帮助下插入了数据。这是我使用的查询.. let insertQuery = "INSERT INTO USERINFO(userimage) VALUES('((data))')"