Öncelikle bir görüntüyü NSData
içine dönüştürdüm ve sqlite veritabanına sqlite blob biçiminde fmdb (uçan et veritabanı) yardımıyla eklendim . Sonra NSData'yı geri aldım, ancak NSData'yı UIImage'a dönüştürürken "fatal error: unexpectedly found nil while unwrapping an Optional value
" hatası alıyorum. "Önemli hata: NSData'dan UIImage oluşturulurken beklenmedik bir şekilde nil bir değer bulundu"
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())")
}
Bu i öncelikle ben sonra base64EncodedString içine NSData dönüştürmek NSData içine UImage değiştirmek Buraya bir resim
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())")
}
}
}
hayır .. correctpic NSData & değil bir resmin türüdür ... & i, daha önce –
kod gibi bazı kod gönderebilir sqlite girdiğiniz tüm imageData içeriyor? kopyalama/yapıştırma işlemini kolaylaştırır. Sorun, muhtemelen 'UIImage' in 'correctPicture' ile başlatılmasının başarısız olması ve '!' Ile çarpılmasına neden olması. 'CorrectPicture' verilerinin 'UIImage' öğesine dönüştürülememesi mantıklı olabilir. – mmarkman
Kodu yanıtımı gönderdim… yanıtı için thanx :) –