2014-09-29 18 views
6

Tôi đã tạo ra phương pháp sau trong mã của tôi:Làm cách nào để chuyển từ điển làm tham số trong phương thức trong Swift?

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

tôi cần phải vượt qua từ điển sau như một tham số trong phương pháp này được định nghĩa dưới đây:

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

Làm thế nào tôi có thể vượt qua từ điển này trong phương pháp trên như một tham số?

này nên được lưu ý rằng phương pháp là trong lớp khác và tôi gọi phương thức bằng cách tạo ra đối tượng của nó như sau:

let obj = Services() 

signin được định nghĩa trong lớp Services.swift vì vậy tôi đang cố gắng để gọi nó là như

obj.SignIn(objSignInDictionary) 

nhưng nhận lỗi sau

"String!" is not identical to "String" 

Tôi sai ở đâu và cách khắc phục. Tôi bị kẹt ở đây từ vài ngày.

Trả lời

12

Nếu bạn alt + nhấp vào objSignInDictionary trong Xcode, bạn sẽ thấy suy luận của nó là [String : String!]. Bạn có thể sửa lỗi này bằng cách đặt rõ ràng objSignInDictionary loại:

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

Làm việc cho tôi! :-) – Developer

Các vấn đề liên quan