Ich benutzte fmdb SQLite Datenbank Wrapper. Ich bin verwirrt, wenn ich ausgewählte Zeilenlabeltexte bekomme. Meine Verwirrung ist, wenn ich die tableView
Reihe wische und lösche, dann wird die ganze Reihe auch von der Datenbank gelöscht, die dieses currentCell.userID.text
hat. Also, wie geht das? Danke im Voraus. Code ich versuche haben,Wie Swipe und löschen Sie ausgewählte Tabellenansicht Zeilendaten von SQLite-Datenbank in Swift 2.0?
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
let index = tableView.indexPathForSelectedRow
let currentCell = tableView.cellForRowAtIndexPath(index!) as! DashBoardCell
print(currentCell.userID.text) //I am getting NiL
let deletedID = currentCell.userID.text
if editingStyle == .Delete
{
let tableData = indexPath.row
items.removeAtIndex(tableData)
number.removeAtIndex(tableData)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
let filemgr = NSFileManager.defaultManager()
let dirPaths = filemgr.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
databasePath = dirPaths[0].URLByAppendingPathComponent("visitors.db").path!
let contactDB = FMDatabase(path: self.databasePath as String)
if contactDB.open()
{
let deleteSQL = "SELECT * FROM VISITORLIST WHERE userid = '\(deletedID)'"
let result = contactDB.executeUpdate(deleteSQL, withArgumentsInArray: nil)
if !result
{
print("Failed To Delete Visitor Lists")
print("Error3: ",contactDB.lastErrorMessage())
}
else
{
print("Successfully Deleted")
}
}
else
{
print("Error4: ",contactDB.lastErrorMessage())
}
tableView.reloadData()
}
}
Yeah! Du hast Recht. Ich verwirrte nur für die Auswahl von 'indexpath' von' tableView' –