Zuerst habe ich ein Bild in NSData
konvertiert und in die SQLite-Datenbank mit Hilfe von fmdb (fliegende Fleisch-Datenbank) in Form von SQLite-Blob eingefügt . Dann habe ich NSData zurückgeholt, aber beim Konvertieren von NSData in UIImage bekomme ich einen Fehler "fatal error: unexpectedly found nil while unwrapping an Optional value
". "fataler Fehler: unerwartet gefunden Null beim Entpacken eines optionalen Wertes" beim Erstellen von UIImage von 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())")
}
Dies ist der Code, den ich für das Speichern eines Bildes
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())")
}
}
}
nee .. correctpic ist Art von NSData & nicht ein Bild ... & es enthält alle imagedata, die ich zuvor in SQLite eingegeben haben –
können Sie einen Code als Code posten? macht das Kopieren/Einfügen einfacher. Das Problem ist wahrscheinlich, dass 'UIImage' nicht mit' correctPicture' init initialisiert und durch das '!' Zum Absturz gebracht wird. Es kann davon ausgegangen werden, dass die Daten von 'correctPicture' nicht in 'UIImage' konvertiert werden können. – mmarkman
Ich postete meinen Teil des Codes ... danke für Ihre Antwort :) –