2017-04-21 59 views
11

我只是一個初學者在Swift編碼。我的想法很簡單,這是一個帶有兩個按鈕的應用程序。點擊後,文本框會更改文本。 在Main.StoryBoard中,我添加了一個文本框和兩個按鈕。 在ViewController.swift文件中。我寫爲:斯威夫特錯誤:信號SIGABRT如何解決它

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var textfield: UITextField! 
    @IBOutlet weak var button: UIButton! 
    @IBOutlet weak var button2: UIButton! 

    @IBAction func action1(_ sender: UIButton) { 
     textfield.text="you just clicked on button1" 
    } 
    @IBAction func action2(_ sender: UIButton) { 
     textfield.text="you just clicked on button2" 
    } 
} 

它應該是沒問題的。但是,出現錯誤,顯示:

文件AppDelegate.swift線

thread1:signal SIGABRT

class AppDelegate: UIResponder, UIApplicationDelegate 

什麼是錯我的代碼?

+1

您沒有正確連接您的網點。 – rmaddy

+0

我試過但未能解決它。你的意思是什麼?代碼。如何用相同的代碼來識別兩個不同的按鈕? – chucklai

+1

你是否將插座連接到按鈕,然後改變插座名稱? –

回答

1

我通過清理該項目和重建解決問題。

要清理的項目去菜單欄:產品展示 - >清潔

然後重建只需點擊運行按鈕如常

22

,只要你有一個斷開插座你得到一個SIGABRT錯誤。點擊故事板中的視圖控制器,然後轉到側面板中的連接(箭頭符號)。看看你是否有一個額外的插座,一個副本或一個沒有連接的額外插座。如果不是這樣,那麼也許你沒有正確地將你的插座連接到你的代碼。

只要記住,SIGABRT當你試圖調用出口(按鈕,瀏覽,文本框等),是不是有發生。

+0

感謝您的幫助。我通過重新創建一個新的按鈕項來解決這個問題,這意味着之前的插座是錯誤的。有沒有辦法查看所有插座連接? – chucklai

+1

是的!轉到故事板,找到要查看其所有插口的視圖控制器,然後單擊其頂部的黃色徽標,以顯示圓圈內的正方形。然後轉到右側的側面板,然後單擊帶有圓圈的箭頭(右上角)。在那裏你可以看到所有的插座和動作連接。 –

4

對我來說,這不是一個出口。我解決了這個問題,然後閱讀它的內容。 (也菜鳥..)

這是錯誤:

enter image description here

和解決方案在這裏: enter image description here

輸出只需滾動,並且錯誤將被揭示。

1

我有同樣的問題。我在故事板中創建了一個按鈕並將其連接到ViewController,然後再刪除該按鈕。所以連接仍然存在,但按鈕不是,所以我得到了和你一樣的錯誤。

要解決:

轉到連接檢查(在右上角的箭頭,在你的故事板),並刪除任何未使用的連接。

2

這種類型的錯誤的一個常見原因是,您可能已經更改了IBOutlet或IBAction的名稱,您可以通過轉到源代碼來檢查該名稱。

點擊main。故事板然後選擇開放爲 然後選擇源代碼 enter image description here

源代碼將打開

,然後檢查是否有你已經改變了IBOutlet中或IBAction爲名稱,如果有,然後選擇部分並刪除它,然後再次創建iboutlet或ibaction。 這應該可以解決您的問題