2015-04-23 42 views
1

我在Swift中遇到了一個非常奇怪的錯誤。IOS Swift - 模態查看錯誤

我創建了一個嵌入在NavigationController中的ViewController(A)。 在右上角,我有BarButtonItem誰在故事板中設置了另一個Viewcontroller(B)模式中的segue。

在主VC(A)中,我有多個TextField誰的委託是主VC。

override func viewDidLoad() { 
    super.viewDidLoad() 

    intervalTextField.delegate = self 
    endTimeTextField.delegate = self 
    ... 
} 

當我運行我的應用程序,而新的視圖控制器(B)(在故事板)不與ViewController.swift(B)進行綁定。當我點擊de bar按鈕(從A)。它顯示模式(B)沒有問題。當我將StoryBoard中的(B)綁定到模態viewController(B)的swift文件時。 Biiim ...

我得到這個錯誤:

fatal error: unexpectedly found nil while unwrapping an Optional value

和調試點在主視圖控制器(A)的第一個TextField委託的定義與EXC_BAD_INSTRUCTION。我刪除了(B)創建了另一個ViewController(C)(故事板第一個),沒有綁定代碼。有用。我創建另一個ViewController.swift(C),我綁定它們。當我在(A)和(C)之間放置模態時,會出現同樣的錯誤

可能是什麼問題,爲什麼會出現此錯誤? OO

預先感謝

編輯:我添加A,B,C爲更多的瞭解。而且(A)控制器工作得很好,我的textFields工作正常,聲明等。

回答

0

您可能想更新您的問題,明確指出哪個視圖控制器是哪個。我對你在哪裏遇到錯誤有點困惑,但基本上這個例外是因爲你的UITextFieldnil而引發的。確保您已正確連接任何IBOutlet到您的視圖控制器。右鍵單擊UITextField,查看它是否具有正確的連接。如果它連接正常,你會看到一個小的黑點在你的IBOutlet像這樣:

enter image description here

^

鼠標懸停和點擊點應該帶你到你的代碼正確UITextField

+0

感謝您的回答,我更新了我的文章以獲得更多清晰度。並且問題不應該存在,因爲所有(A)控制器都可以正常工作。 – dib258

+0

在你的問題中,你寫了「調試器指向主ViewController中第一個TextField委託的定義」。這不是說你的主視圖控制器(A)不能正常工作嗎?在IB中,如果右鍵單擊'intervalTextField',它是否顯示引用插座? – Aaron

+0

這就是神祕的...一切工作正常(A),我點擊BarButton加載(B)。我們可以在堆棧跟蹤中看到在指向TextField的委託聲明之前我們在(B)的viewDidLoad中。這就是爲什麼我不明白爲什麼調試器指向(A)。 – dib258