aktualisieren auspackt:Swift4: FMDBdatabase - unerwartet gefunden null, während ein optionaler Wert
Am Ende gehe ich auf die lokale SQLite-Datenbank und den NULL-Wert zu „unkown“ ersetzen. Das funktioniert!
Ich benutze FMDatabaseQueue, um eine vorhandene SQLite-Datenbank in iOS zu suchen.
Leider gibt es einige "" Zeichenfolge in meiner Datenbank. Wie:
teacherName ""
scoreValue ""
Während der Suche alarmierte Xcode dass
"Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value" in line "teacherName".
Ich brauche nicht diese "" Ergebnisse notwendigerweise, da sie nicht von Bedeutung sind. Wie kann ich es reparieren?
func queryDB(sql: String) -> NSMutableArray {
openDB();
let resultArray = NSMutableArray()
SQLiteManager.shareInstance.dbQueue?.inDatabase { (db) in
let dbResult: FMResultSet! = db.executeQuery(sql, withArgumentsIn:[])
if (dbResult != nil)
{
while dbResult.next() {
let model:scoreModel = scoreModel()
model.lessonName = String(dbResult.string(forColumn: "lessonName")!)
model.lessonCode = String(dbResult.string(forColumn: "lessonCode")!)
model.creditPoint = Double(dbResult.double(forColumn: "creditPoint"))
model.semesterName = String(dbResult.string(forColumn: "semesterName")!)
model.teacherName = String(dbResult.string(forColumn: "teacherName")!)
model.totalStudentNumber = Int(dbResult.int(forColumn: "totalStudentNumber"))
model.scoreValue = String(dbResult.string(forColumn: "scoreValue")!)
model.studentCount = Int(dbResult.int(forColumn: "studentCount"))
resultArray.add(model)
}
}
}
return resultArray
}
Vielen Dank!
Vielen Dank für Ihre großzügige Beratung. Am Ende gehe ich zur Sqlite-Datenbank und ersetze den NULL-Wert auf "unknown". –
Ich weiß nicht, wie man Ergebnis in UTF8 umwandelt. Hinzufügen von utf8 in Zeichenfolge schien nicht funktioniert. Vielen Dank! –
Was meinen Sie mit "Ergebnis in UTF8 konvertieren"? Welche Sache versuchen Sie zu konvertieren? – jefflovejapan