Для такого небольшого количества данных (26 единиц) я предлагаю архивирование .
Сохранить в plist, используя NSKeyedArchiver
/ NSKeyedUnarchiver
.Прочитайте ваши данные из делегата didFinishLaunchingWithOptions и прослушайте UIApplicationWillResignActiveNotification
, чтобы сохранить их.
A NSUserDefaults
- это список с функциями, предназначенными для хранения пользовательских настроек.Вместо этого часто используется обычный список для сохранения нескольких строк кода, что, на мой взгляд, является плохой идеей, потому что вы получаете дополнительную сложность, не связанную с вашей задачей.
Если вы хотите, чтобы вход в систему был защищен от кражи устройства и проведения криминалистической экспертизы, используйте связку ключей.Возможно, вы захотите использовать оболочку и прочитать некоторые статьи, если хотите, прокомментируйте.
Если вам нужны дополнительные функции, см. Лучший способ хранения данных на iphone , но, похоже, это не так.будь так.
Какой-то код, чтобы начать ... Зарегистрируйся, чтобы вызвать save в приложении. В отставку:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(saveMyData)
name:UIApplicationWillResignActiveNotification
object:nil];
Для каждого объекта графа / словаря / того, что ты хочешьВ архиве реализовано NSCoding:
- (void)encodeWithCoder:(NSCoder*)coder {
[coder encodeObject:myIvar forKey:kmyIvar];
}
- (id)initWithCoder:(NSCoder*)coder {
if((self = [super initWithCoder:coder])) {
self.myIvar = [[coder decodeObjectForKey:kmyIvar] retain];
}
return self;
}