2014-09-29 4 views
6

я создал следующий метод в мой код:Как передать словарь в качестве параметра в методе в Swift?

func SignIn(objDictionary:Dictionary<String,String>) 
{ 
    //Body of method 
} 

Мне нужно передать следующий словарь в качестве параметра в этом методе, который определен ниже:

let objSignInDictionary:Dictionary = ["email":emailTextField.text, "password":passwordTextField.text] 

Как я могу передать этот словарь в вышеупомянутый метод в качестве параметра?

Это следует отметить, что метод в другом классе, и я вызываю метод, создавая свой объект следующим образом:

let obj = Services() 

определяется для входа в аккаунт в классе Services.swift , так что я пытаюсь вызвать его как

obj.SignIn(objSignInDictionary) 

но получить следующее сообщение об ошибке

"String!" is not identical to "String" 

Где я ошибаюсь и как это можно исправить. Я застрял здесь через пару дней.

ответ

12

Если вы выбрали alt + нажмите objSignInDictionary в Xcode, вы увидите, что оно определено как [String : String!]. Вы можете исправить это, явно установив objSignInDictionary тип:

let objSignInDictionary:[String:String] = ["email":emailTextField.text, "password":passwordTextField.text] 
+0

Работал для меня! :-) – Developer

Смежные вопросы