2015-03-14 5 views
0

Что вызывает это? два экземпляра этой ошибки появляются в самом низу моего контроллера представления, в котором строки начинаются с «userDefaults». Вот мой кодИспользование неразрешенного идентификатора userDefaults

import UIKit 

class SecondViewController : UIViewController,UITextFieldDelegate { 

@IBOutlet weak var dateLabel: UILabel! 
@IBOutlet weak var datePicker: UIDatePicker! 

var aRandomDate = NSDate() 


override func viewDidLoad() { 
    super.viewDidLoad() 

    datePicker.addTarget(self, action: Selector("datePickerChanged:"), forControlEvents: UIControlEvents.ValueChanged) 
} 

func datePickerChanged(datePicker:UIDatePicker) { 
    var dateFormatter = NSDateFormatter() 

    dateFormatter.dateStyle = NSDateFormatterStyle.LongStyle 

    var strDate = dateFormatter.stringFromDate(datePicker.date) 
    dateLabel.text = strDate 
} 

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

    return true; 
} 

@IBAction func Save(sender: UIButton) { 
    var t = EventSaver(pEventName: "Drinking Coffee", pEventDate: aRandomDate) 

    let encodedEventName = NSKeyedArchiver.archivedDataWithRootObject(t.EventName) 
    let encodedEventDate = NSKeyedArchiver.archivedDataWithRootObject(t.EventDate) 

    var encodedArray: [NSData] = [encodedEventName,] 


    userDefaults.setObject(encodedArray, forKey: "Event") 
    userDefaults.synchronize() 


    println("saved") 
} 
} 

ответ

0

Сделать это следующим образом:

@IBAction func Save(sender: UIButton) { 
var t = EventSaver(pEventName: "Drinking Coffee", pEventDate: aRandomDate) 

var userDefaults = NSUserDefaults.standardUserDefaults() 

let encodedEventName = NSKeyedArchiver.archivedDataWithRootObject(t.EventName) 
let encodedEventDate = NSKeyedArchiver.archivedDataWithRootObject(t.EventDate) 

var encodedArray: [NSData] = [encodedEventName,] 


userDefaults.setObject(encodedArray, forKey: "Event") 
userDefaults.synchronize() 


println("saved") 


} 
+0

спасибо! это отлично поработало. – DevonCarlson

1

Вы не объявляя userDefauts

let userDefaults = NSUserDefaults.standardUserDefaults() 
2

Похоже, вы не заявили постоянные userDefaults. Добавьте следующую строку перед тем, как установить объект encodedArray в userDefaults:

let userDefaults = NSUserDefaults.standardUserDefaults() 
Смежные вопросы