Property List и NSUserDefaults
Property List это просто определение термина. Он означает AnyObject, который, является коллекцией объектов, которыми может быть ТОЛЬКО один из следующих типов:
NSString, NSArray, NSDictionary, NSNumber, NSData, NSDate. Property List используются для передачи данных “вслепую”
NSUserDefaults — это по сути механизм сохранения данных типа Property List. Его можно представить как маленькую базу данных для хранения чего-то небольшого. Например настройки программы, прогресс в игре, предпочтения и т.д. Хранить большие объемы информации, такие как картинки или музыку, в NSUserDefaults Apple не рекомендует.
NSUserDefaults как Dictionary, но он может запоминать только Property List. Основное достоинство NSUserDefaults заключается в том, что он запоминает постоянно, то есть приложение можно завершить, а данные в NSUserDefaults останутся. И при следующем запуске эти данные можно извлечь.
// // proSwift.ru // let defaults = NSUserDefaults.standardUserDefaults() // получили экземпляр класса NSUserDefaults let plist: AnyObject = defaults.objectForKey(String) // записали объект defaults.setObject(AnyObject, forKey: String) // записали объект (AnyObject должен быть PropertyList) if !defaults.synchronize() // Запись данных arrayForKey(String) -> Array <AnyObject>? // возвращает nil, если значение не установлено или нет массива // NSUserDefaultsможет хранить / извлекать маленькие кусочки данных... setDouble(Double, forKey: String) doubleForKey(String) > Double// не Optional, возвращает 0, если нет такого ключа
На 6-ой строке мы принудительно заставили систему записать данные, хотя это и не обязательно. Система производит запись самостоятельно. Но для того, чтобы быть уверенными, можно написать и эту строку кода.
Добавить комментарий