Nat*_*Mio 3 objective-c ios swift
我最近一直试图弄清楚如何在swift中初始化一个字典,就像我以前在Objective-c中做的那样:
NSMutableDictionary *loginDictionary = [[NSMutableDictionary alloc] initWithObjects:@[UsernameTextfield.text,PasswordTextfield.text] forKeys:@[@"username",@"password"];
Run Code Online (Sandbox Code Playgroud)
我试着在Swift中写它:
let userDictionary = NSMutableDictionary.init(object: [usernameTextField.text,passwordTextField.text], forKey: ["username","password"])
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误:
上下文类型AnyObject不能与数组文字一起使用.
首先,您必须使用相同的方法,并使用objects和forKeys(注意复数).
然后你需要告诉编译器每个对象的类型,在你的情况下它是来自Optional文本标签的字符串,所以你可以这样做:
if let name = usernameTextField.text as? String, let pass = passwordTextField.text as? String {
let userDictionary = NSMutableDictionary(objects: [name, pass], forKeys: ["username", "password"])
}
Run Code Online (Sandbox Code Playgroud)