LoginSignup
2
1

More than 5 years have passed since last update.

【Swift】if文にアラートを出そうとするとクラッシュ…UIAlertViewでの暫定回避方法。

Posted at

if文内にUIAlertControllerを書くと落ちる!

とあるソフトを書いていて、パスワードチェックのif文を作成していた。
要は、パスワードが一致していなければelseで
「あんさん、パスワード違ゃいまっせ!」とアラートを出して、次画面へのセグエにつながらないようにしたかったのだ。

Objective-Cで同じようなことをやってきたのに…

Swiftだと何故か
ク ラ ッ シ ュ す る
※私だけでしたら、ご指摘くだされば幸いです。

なぜダメなのか全然わからなくて、3日間くらいネットを探ってやっと見つけたtakabosoftさんのこの記事
・表示元のUIViewControllerのインスタンスが必要になった
・二重でアラートを表示させる事ができなくなった
(takabosoftさん、ありがとうございます!)
とのことだけれど

今の私には、まだむずかしくてよくわからない…。
(もう少し経験を積めばわかるのだろうが…
 このままだとLv.1なのに松明も持たずに洞窟に入るようなものだ!)
なぜシンプルな方法がないのか。

と思っていたところ…SwiftでのUIAlertViewの出し方を書いてくださっている記事発見。

シンプルなUIAlertView(Swift) サンプル

Night___さんのこの記事&takabosoftさんの補足に助けられた!
takabosoftさんがリンク先記事に書いていらしたコードを引用しておく。



let alert = UIAlertView()
alert.title = "Title"
alert.message = "My message"
alert.addButtonWithTitle("Ok")
alert.show()

こ ん な シ ン プ ル な こ と で よ か っ た の か ! !
これならif文の中に書いても落ちなかった。

今後UIAlertViewが非推奨になっていくのは理解っているが、
ここで躓いたままだと、ソフトが完成しないのだ。
次善の策で今は前に進み、後日UIAlertControllerにて実装しなおしたいと思う。

…takabosoftさんとNight__さんに改めて感謝。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1