iOS сохранит пользовательский объект NSObject <MKAnnotation>
Я заинтересован в постоянном хранилище для пользовательского объекта аннотации
CustomAnnotation : NSObject <MKAnnotation>
который имеет следующие свойства
@property (nonatomic, assign) CGFloat val1;
@property (nonatomic, retain) NSString *val2;
@property (nonatomic, retain) NSDate *val3;
@property (nonatomic, retain) NSURL *val4;
@property (nonatomic, assign) double val5;
@property (nonatomic, assign) double val6;
Каков наилучший подход к хранению данных? Я думал об использовании NSUserDefaults, но мне нужно будет заархивировать свою CustomAnnotation в NSData? Как ты это делаешь?
Спасибо!
1 ответ
Если вы хотите сохранить пользовательский объект в NSUserDefaults
у вас есть два варианта.
- Кодировать объект в NSData, используя
NSKeyedArchiver
- Создать
NSDictionary
со всеми ценностями, которые вы хотите сохранить.
Используете ли NSUserDefaults
Правильный подход зависит от нескольких факторов. Если у вас есть только один или несколько объектов, это будет хорошо. Если у вас много, то вы можете посмотреть на другие варианты. Возможно, plist или какой-то другой файл. В любом случае, у вас одна и та же проблема, необходимая для кодирования объекта с использованием одного из двух подходов.