2015-08-11 2 views
2

Я пытаюсь создать, затем добавить словарь, но я получаю следующую ошибку, которую я не могу решить: не может подстроить значение типа '[String: AnyObject]?' с индексом типа «String»Попытка добавить словарь в Swift

У кого-нибудь есть идея? Спасибо заранее!

var parameters: [String:[String:AnyObject]] = [ 
     "user": [ 
      "email": email, 
      "password": passwordTextField.text, 
      "first_name": firstName, 
      "last_name": lastName 
     ] 
    ] 

    parameters["user"]["status"] = "Connected" 

ответ

2

Что бы вы извлечь из Dictionary может или не может существовать, следовательно, его возвращаемое значение не является обязательным. если вы 100% уверены, возвращаемое значение не nil, используйте !, в противном случае либо проверить nil или использовать ? (Как отметил Lucian Бобок)

В своем коде, попробуйте заменить его следующим образом.

parameters["users"]!["status"] = "Connected" 
+1

Это потому, что возвращаемое значение является необязательным, если вы на 100% возвращенное значение не равно нулю, используйте «!», В противном случае используйте «?». –

+0

Несомненно, не проблема :) –

2

parameters["user"] является необязательным, так что вы должны разворачивать опциональный явно, так как вы знаете, что значение существует.

parameters["user"]!["status"] = "Connected" 
Смежные вопросы