将textfield.text中的变量添加到NSMutableArray时出现以下错误。
无法将'string'类型的值转换为预期的参数类型[Any]
let itemsObjects = UserDefaults.standard.object(forKey: "items")
var items:NSMutableArray
if var items = itemsObjects as? NSMutableArray {
items.addObjects(from: (textField.text!))
}
不应该键入任何包含类型字符串?
谢谢,
答案 0 :(得分:0)
不要在Swift中使用NSMutable...
集合类型。
与不可变类型不同,它们与Swift对应物无关,不能相互桥接。此外,他们击败了斯威夫特强大的类型系统。
UserDefaults
有一个专门的方法来获取数组,var
关键字使对象在Swift中可变。 textField.text
是单个对象,相应的API为append
if let itemsObjects = UserDefaults.standard.array(forKey: "items") {
var items = itemsObjects
items.append(textField.text!)
}