Đầu tiên tôi chuyển đổi hình ảnh thành NSData
và chèn vào cơ sở dữ liệu sqlite với sự trợ giúp của fmdb (cơ sở dữ liệu thịt bay) dưới dạng đốm trắng . Sau đó, tôi lấy lại NSData, nhưng trong khi chuyển đổi NSData thành UIImage, tôi gặp lỗi "fatal error: unexpectedly found nil while unwrapping an Optional value
". "lỗi nghiêm trọng: bất ngờ tìm thấy nil trong khi mở một giá trị tùy chọn" trong khi tạo UIImage từ NSData
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())")
}
Đây là mã mà tôi sử dụng để lưu một hình ảnh
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 là loại NSdata & không phải hình ảnh ... & có chứa tất cả imageData mà tôi đã nhập trong sqlite trước đây –
bạn có thể đăng một số mã làm mã không? làm cho sao chép/dán dễ dàng hơn. Vấn đề có thể là 'UIImage' không thể khởi động với' correctPicture' và nó bị buộc bởi '!' Gây ra sự cố. Có thể lý luận rằng dữ liệu 'correctPicture' không thể chuyển đổi thành' UIImage'. – mmarkman
Tôi đã đăng một phần mã của mình ... thanx cho phản hồi ur :) –