在UIPickerView中使用来自NSUserDefaults的数据 – pickerView保持为空
我试图设置NSUserDefaults昨晚,但一直在发生错误:
ViewController3:
保存数据
@IBAction func tappedAddButton(sender: AnyObject) { var userDefaults:NSUserDefaults = NSUserDefaults.standardUserDefaults() var exercisesList:NSMutableArray? = userDefaults.objectForKey("exercisesList") as? NSMutableArray var dataSet:NSMutableDictionary = NSMutableDictionary() dataSet.setObject(textField.text, forKey: "exercises") if ((exercisesList) != nil){ var newMutableList:NSMutableArray = NSMutableArray(); for dict:AnyObject in exercisesList!{ newMutableList.addObject(dict as NSDictionary) } userDefaults.removeObjectForKey("exercisesList") newMutableList.addObject(dataSet) userDefaults.setObject(newMutableList, forKey: "exercisesList") }else{ userDefaults.removeObjectForKey("exercisesList") exercisesList = NSMutableArray() exercisesList!.addObject(dataSet) userDefaults.setObject(exercisesList, forKey: "exercisesList") } userDefaults.synchronize() self.view.endEditing(true) textField.text = "" }
ViewController1:
加载数据
var exercises:NSMutableArray = NSMutableArray();
…
override func viewDidAppear(animated: Bool) { var userDefaults:NSUserDefaults = NSUserDefaults.standardUserDefaults() var exercisesListFromUserDefaults:NSMutableArray? = userDefaults.objectForKey("exercisesList") as? NSMutableArray if ((exercisesListFromUserDefaults) != nil){ exercises = exercisesListFromUserDefaults! } }
在添加一些数据到variables“练习”时,pickerView保持空白。
您正在使用键“exerciseList”设置userDefaults,但试图用不同的键(“itemList”)返回数据