0

我创建了一个小的选项卡式视图程序,它使用选项卡在两个视图之间切换。有一个名为 list 的全局变量,它是一个包含两个视图都需要访问和更改的信息的数组。但是,当我尝试使用 NSUserDefaults 保存数组以供将来在应用程序关闭后使用时,我收到一条错误消息:“无法将 'Array<_>' 类型的值转换为预期的参数类型 'AnyObject?'” . 这是我的第二个视图的代码:

@IBOutlet weak var reminder: UITextField!
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {

}
@IBAction func submit(sender: AnyObject) {
    if reminder.text == "" {
        label.text = "Please type a reminder!"
    } else {
        list.append(reminder.text!)
        reminder.text = ""
        label.text = "Add A Reminder"
    }

    // The below line is giving the error!!!!!

    // Specifically the fact that I am using the variable "list"

    NSUserDefaults.standardUserDefaults().setObject(list, forKey: "reminders")
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    self.view.endEditing(true)
}

func textFieldShouldReturn(textField: UITextField) -> Bool {
    textField.resignFirstResponder()

    return true
}

我猜这与列表变量是一个全局变量这一事实有关,但我希望能在完全诊断这个问题方面提供一些帮助!

编辑:

我通过像这样声明全局变量列表解决了这个问题:

变量列表:[字符串] = 字符串

代替:

变量列表:数组 = []

4

0 回答 0