🙆

【Swift】アラートメッセージを表示する方法 (削除を選択した場合にRealmのデータベースから削除するコードも記載)【コピペコード】

2023/05/24に公開

ゴミ箱をタップした際にいきなり削除するのではなく
アラートメッセージをユーザーに表示するようにしたいと思って
調べたら以下の記事が参考になりました。

《参考記事》iOS アプリにアラートメッセージを表示する方法 (Swift)

https://softmoco.com/basics/how-to-show-alert-message-in-ios-app.php

しかし、《参考記事》で伝えているのはあくまで
『iOS アプリにアラートメッセージを表示する方法』「のみ」であり

「削除」をタップした際にデータベースから削除し
「キャンセル」をタップした際にはデータベースからは削除しないというコードも
欲しかったので以下のコードを自分用として保存。

なお、データベースは「Realm」ベースです。

let alert = UIAlertController(title: "削除しますが宜しいでしょうか?", message: nil, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "削除", style: .destructive, handler: { _ in
    try! realm.write {
        realm.delete(data)
    }
}))
alert.addAction(UIAlertAction(title: "キャンセル", style: .cancel, handler: nil))
self.present(alert, animated: true, completion: nil)

以下は『オリジナルアプリ』【カクテルレビュー】のコードで活用した事例。

@IBAction func deleteCocktailData(_ sender: Any) {
        
        let alert = UIAlertController(title: "カクテルを削除しますが宜しいでしょうか?", message: nil, preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "削除", style: .destructive, handler: { _ in
            try! self.realm.write {
                self.realm.delete(self.cocktail)
            }
        }))
        alert.addAction(UIAlertAction(title: "キャンセル", style: .cancel, handler: nil))
        self.present(alert, animated: true, completion: nil)
        
    }

Discussion