У меня есть класс модели, который реализует протокол NSCoding
. У меня есть свойство с именем dataModel
, которое является экземпляром этого класса. Когда я сохраняю / загружаю этот экземпляр на / с диска, я должен использовать синтезированные средства доступа для dataModel
или ивары напрямую? И почему?
Это под iOS 5 и ARC, и моя собственность объявлена как:
@property (strong, atomic) QardDataModel *dataModel;
Для иллюстрации это будет способ доступа к нему:
-(void)saveData {
[NSKeyedArchiver archiveRootObject:self.dataModel toFile:[self saveFilePath]];
}
-(void)loadData {
self.dataModel = [NSKeyedUnarchiver unarchiveObjectWithFile:[self saveFilePath]];
}
Существует удобный метод, называемый saveFilePath
, который возвращает путь к архивному файлу.