Как сохранить пользовательский класс NSObject в файл? - PullRequest
0 голосов
/ 25 марта 2012

Я пытался:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dictionary];

    BOOL success = [data writeToFile:entryPath atomically:YES];

Но по какой-то причине он вылетал с этой ошибкой:

2012-03-24 20:06:13.550 Journal[1348:707] -[JEntry encodeWithCoder:]: unrecognized selector sent to instance 0x25d1a0
2012-03-24 20:06:13.553 Journal[1348:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[JEntry encodeWithCoder:]: unrecognized selector sent to instance 0x25d1a0'

Как еще сохранить подкласс NSObject в файл?

1 Ответ

3 голосов
/ 25 марта 2012

Вам нужно реализовать encodeWithCoder: в вашем классе JEntry, если вы хотите, чтобы NSArchiver работал. Возможно, вам также понадобится initWithCoder:, чтобы вы могли десериализовать позже.

Прочтите Руководство по программированию архивов и сериализаций , чтобы начать.

...