2016-07-22 74 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属性中存在文本时无法重现问题。