で行を削除するようで、私が見ている問題は、私はcompletionHandler
に.destructive
とUIContextualAction
とパスtrue
を作成するときに、行を削除するためのデフォルトのアクションがあるように思われるということです。UIContextualActionがデフォルト
あなたはXcodeののテンプレートから新しいマスター・ディテールアプリケーションを作成し、MasterViewController
にこのコードを追加する場合...
override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let testAction = UIContextualAction(style: .destructive, title: "Test") { (_, _, completionHandler) in
print("test")
completionHandler(true)
}
return UISwipeActionsConfiguration(actions: [testAction])
}
あなたがスワイプ行が削除されます。テーブルビューを更新するコードがないことに注目してください。また、モデルは更新されず、行を再読み込みさせるためにスクロールすると再び表示されます。
この場合、false
を渡しても行は削除されません。または.normal
スタイルを使用し、true
も行を削除しません。
.destructive
およびの結果、デフォルトで行が削除されます。
誰でもこの動作を説明できますか?行が削除されるのはなぜですか?
破壊的なオプションのドキュメント毎の