Показаны сообщения с ярлыком NSUserDefault. Показать все сообщения
Показаны сообщения с ярлыком NSUserDefault. Показать все сообщения

1 апр. 2014 г.

NSUserDefaults - сохранение настроек приложения

Использование NSUserDefaults - самый легкий и самый простой способ (существуют и иные способы) сохранения настроек Вашего приложения.

NSUserDefaults - это простой список данных (аналог plist), с помощью которого приложение может хранить простые данные. Нет никаких ограничений на размер данных (помимо собственных ограничений заданных приложением), не используйте этот класс для хранения очень большого объема данных. Файл записывается и считывается атомарно (т.е. целиком), т.е., чем больше данных, которые находятся в файде, тем дольше они будут считыватся. Тем не менее, этот класс подходит для того, чтобы хранить параметры, настройки, и т.п..

К сожалению NSUserDefaultsимеет ряд ограничений по переменным, которые он может сохранять. Это:
– NSArray
– NSData
– NSDictionary
– NSNumber
– NSString

Кроме того, NSArray или NSDictionary должны только содержать упомянутые выше типы (возможно вложение NSArray или NSDictionary). Другие пункты, которые соответствуют протоколу NSCoding, могут быть заархивированы как NSData, т.е., Вы можете сохранить их в переменных. Будем использовать ключи для доступа к данным.

Все что нужно сделать, это загрузить данные в NSUserDefault:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:9001 forKey:@"HighScore"];
[defaults synchronize];

Чтение данных из NSUserDefault:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger theHighScore = [defaults integerForKey:@"HighScore"];

Вот и все. Вы создаете объект типа NSUserDefaults, создаете переменную в которою будете загружать данные по ее типу и определенному ключу.