2016-08-13 46 views
0

好吧,我不知道發生了什麼事。即時通訊相對較新的iOS,所以我的調試技能不在他們需要的地方。我有一個文本字段工作得很好,直到我在我的應用程序中做了一些更改,沒有任何與文本字段有關的更改(至少我認爲他們沒有)。我不斷收到這個錯誤「 - [NSNull length]:無法識別的選擇器發送到實例0x1a1803490」後,我嘗試鍵入。在調試區域打印後「確實開始編輯」。任何幫助表示讚賞。提前致謝。UITextField問題

這裏是我的代碼:

@IBAction func textFieldActions(sender: AnyObject) { 
    print("text field actions") 
} 

func textFieldDidBeginEditing(textField: UITextField) { 
    textField.becomeFirstResponder() 
    print("did begin editing") 
} 

func textFieldDidEndEditing(textField: UITextField) { 
    textField.resignFirstResponder() 
    print("did end ediditing") 
} 

func textFieldShouldReturn(textField: UITextField) -> Bool { 

    textField.resignFirstResponder() 
    textField.text = nil 

    return true 

} 

回答

0

好基本上你的錯誤意味着你試圖調用的對象不具備這樣的方法上的一些方法。 這裏的對象實際上是空的,所以你試圖調用一個null方法。你可能在你的代碼中的某個地方填充你的文本框?

你在這裏給出的代碼是好的,所以它不是來自這個,它破壞代碼之前沒有改變?

另外,我們需要找出發生錯誤的位置。要做到這一點,創建斷點異常,從而使這裏發生崩潰的Xcode會指出確切路線:

調試>斷點>創建異常斷點...>確定

+0

我這樣做了,但在調試區域中沒有任何不同。 – user3462448

0

可能被調試區域有更多信息。請爲助手捕獲整個列表。你不需要使用響應者功能。它已經完成了。 我懷疑你從具有NSNull值的字典中設置文本字段的文本。 NSNull是一些零對象,因爲它不應該在容器中具有零值。

0

OP在這裏。我解決了這個問題。不知道爲什麼或如何,但解決此問題的一種方法是從故事板場景中刪除任何TabBar控制器或導航控制器,然後將其放回。