2016-07-22 2 views
1

사전에 값을 추가하려고 시도하는 동안 내 textField.text에서 값을 설정하는 동안 항상 실패합니다. 이 코드를 사용하여 사전에 추가하려는 텍스트 필드가 있습니다.Swift - 사전에 텍스트 추가

var dict = [String:AnyObject]() 

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

print(dict["key"]!) 

그러나 인쇄물에는 아무 것도 표시되지 않습니다. 값을 "a value"로 설정하면 잘 인쇄됩니다. 텍스트 필드 값을 어떻게 추가 할 수 없습니까?

+0

try "var dict : NSMutableDictionary = [문자열 : AnyObject]()", 값을 "dict ["키 "] = 값으로! 문자열" –

+0

@IshmeetSingh 답장을 보내 주셔서 감사합니다.하지만 불행히도 운이 없다. – askaale

+0

무엇이 인쇄됩니까? – WMios

답변

0

은 다음과 같이 그것을 시도 :

dict["key"] = usernameText.text! 

업데이트 :

그냥이 코드를 시도 :

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

print(dict["key"]!) 

을 내가 Foo를 예상대로 저를 인쇄, 다음 코드를 시도, 0보다 낮은 임의의 값 설정 "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는 어떤 유형입니까? 그 안에 텍스트가 있는지 확실합니까?

확인을 위해 print (usernameText.text!)를 추가하십시오.

UITextField를 사용하여 테스트했는데 .text 속성에 텍스트가있는 경우 문제를 재현 할 수 없습니다.