2016-07-22 109 views
1

雖然我試圖給字典添加一個值,但當我嘗試從textField.text設置值時,它總是失敗。我有一個文本字段,我要添加到字典,使用此代碼:Swift - 將文本添加到字典

var dict = [String:AnyObject]() 

dict.updateValue(usernameText.text!, forKey: "key") 

print(dict["key"]!) 

然而,在打印不顯示任何東西。當我將該值設置爲「一個值」時 - 打印效果良好。我怎麼不能添加文本字段值?

+0

嘗試「VAR字典:NSMutableDictionary = [字符串:AnyObject]()」,增加值作爲「字典[」鍵「] =值爲字符串」 –

+0

@IshmeetSingh感謝您的回覆,但我不幸也嘗試過沒有運氣。 – askaale

+0

它打印什麼? – WMios

回答

0

試試這樣說:

dict["key"] = usernameText.text! 

更新:

只是嘗試這樣的代碼:

var dict = [String:AnyObject]()   
dict.updateValue("Foo", forKey: "key") 

print(dict["key"]!) 

,並打印我如我所料Foo,試試下面的代碼,根據"key"鍵設置非可選值:

if let aText = usernameText.text { 
    dict.updateValue(aText, forKey: "key") 
} 
+0

這也不起作用。很奇怪。 – askaale

+0

嘗試將'var dict = [String:AnyObject]()'更改爲'var dict = [String:String]()',並檢查您嘗試添加的文本。 –

+0

這就是問題所在,我需要字典爲AnyObject類型,因爲我將存儲布爾值,整數和字符串。 – askaale

2

什麼類型是usernameText?你確定它裏面有文字嗎?

嘗試添加打印(usernameText.text!)以確保。

我使用UITextField進行了測試,並且在.text屬性中存在文本時無法重現問題。