TableViewのデータを削除しようとするとアプリが動かなくなる
TableView
のデータを削除しようとすると、何のエラーも表示せずにアプリが動かなくなります。下記のコードのどこがおかしいでしょうか?個人的にオプショナルに関する部分が怪しいかと思っているのですが、具体的にわかりません。。。どなたか不具合の原因が分かる方がいれば教えていただきたいです。すみませんが、よろしくお願いします。
DataViewControllerクラス
var nounData: NSMutableArray = NSMutableArray()
let dbhelper = DatabaseHelper()
nounData.addObjectsFromArray(dbhelper.outputWord("AAA")) //データベースにあるString型の値が入る
func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!){
if(editingStyle == UITableViewCellEditingStyle.Delete){
removeData("AAA", wordData: nounData, indexPath: indexPath.row)
}
}
func removeData(speech: String, wordData: NSMutableArray, indexPath: Int) {
let dbhelper = DatabaseHelper()
dbhelper.removeWord(speech, word: (wordData.objectAtIndex(indexPath) as? String)!)
wordData.removeObjectAtIndex(indexPath)
self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
}
DatabaseHelperクラス
func removeWord(speech: String, word: Optional<String>) {
let realm = RLMRealm.defaultRealm()
realm.transactionWithBlock( { () -> Void in
realm.deleteObjects(Word.objectsWhere("speech == %@ AND word == %@", speech, word!))
})
}