25
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Thread 1: signal SIGABRTと出てしまう理由が判明した

Posted at

###概要

コードは合ってるのになぜかThread 1: signal SIGABRTと出てしまう

これが
スクリーンショット 2018-10-16 18.09.42.png

なぜかこうなる

スクリーンショット 2018-10-16 18.15.39.png

###原因

原因は間違ってコード上でした関連付けをコード上でしか削除してなかった事だった

つまり本来は

class ViewController: UIViewController {

    override func viewDidLoad() {
        省略
        }
    @IBAction func tapTweetBtn(_ sender: UIButton) {
    省略

とOutletしなきゃいけないのに

class ViewController: UIViewController {
 @IBOutlet weak var tapTweetBtn: UIButton!

    override func viewDidLoad() {

と間違えてしてしまい

 @IBOutlet weak var tapTweetBtn: UIButton!

をコード上から削除した

だけどこれだけじゃダメなのです

なぜならコード上で消してもシステム上での関連付けはそのままされているので
シミュレータが必死にこの関連付けのコードを探してしまい止まってしまう
というカラクリでした

###改善策

この赤丸の所のシステム上の関連付けを切ればOK

スクリーンショット 2018-10-16 18.30.59.png スクリーンショット 2018-10-16 18.35.33.png

シミュレータを起動させると…

スクリーンショット 2018-10-16 18.38.25.png

成功しました

わーい

###まとめ

間違えて関連付けしてしまった場合は
コード上だけでなくシステム上のOutletも削除する

終わり

25
16
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
25
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?