У меня есть тонны объектов, которые я хочу сохранить для автономного использования. В настоящее время я использую создание классов, совместимых с NSCoder, для объектов и кодированных данных в файл, чтобы они были доступны в автономном режиме.
Поэтому в .h я ввожу объекты:
@interface MyClass : NSObject<NSCoding>{
NSNumber* myObject;}
@property(nonatomic,retain) NSNumber* myObject;
А в .m я делаю иниты:
- (id) initWithCoder: (NSCoder *)coder {
if (self = [super init]) {
[self setMyObject: [coder decodeObjectForKey:@"myObject"]];
}
}
- (void) encodeWithCoder: (NSCoder *)coder {
[coder encodeObject: myObject forKey:@"myObject"];
}
Таким образом, класс - это просто фиктивное хранилище с getter и setter. Есть ли какой-нибудь лучший способ сделать декодирование / кодирование. Могу ли я как-то использовать @dynamic или кодирование по ключу-значению для кодирования и декодирования? В основном я хочу, чтобы все переменные класса сохранялись в файл и возвращались в объект при запуске программы. Этот подход работает, но создание всех классов требует времени и усилий.