Можно ли сохранить NSMutableOrderedSet в атрибут NSData в подклассе NSManagedObject?
У меня есть свойство NSMutableOrderedSet с именем currentSongsList в подклассе NSObject. У меня есть свойство NSData с именем currentSongsList в подклассе NSManagedObject.
Я хочу заархивировать свойство NSMutableOrderedSet в базу данных, чтобы его можно было получить после завершения и перезапуска моего приложения.
В CurrentSongsInfo.h -
@interface CurrentSongsInfo : NSObject
@property (nonatomic, strong) NSMutableOrderedSet *currentSongsList;
В CurrentSongsInfoArchive.h -
@interface CurrentSongsInfoArchive : NSManagedObject
@property (nonatomic, retain) NSData * currentSongsList;
В CurrentSongsInfoArchive.m -
DatabaseInterface *databaseInterfacePtr = [[DatabaseInterface alloc] init];
// Not showing code for databaseInterfacePtr:newManagedObjectOfType, but it has been working for over a year for many entity types
CurrentSongsInfoArchive *currentSongsInfoArchive = (CurrentSongsInfoArchive *)[databaseInterfacePtr newManagedObjectOfType:@"CurrentSongsInfoArchive"];
NSData *currentSongsList = [NSKeyedArchiver archivedDataWithRootObject:currentSongsInfoArchive.currentSongsList];
currentSongsInfoArchive.currentSongsList = currentSongsList;
Когда приведенный выше код из CurrentSongsInfoArchive.m выполняется, я вижу следующий вывод:
currentSongsList.count = 540
2014-09-19 04: 30: 57.219 MusicByCarlCoreData [2863: 1091413] currentSongsInfoArchive.currentSongsList.length = 135
У меня есть четыре других свойства NSMutableOrderedSet, чьи значения счетчика все разные. Но когда они архивируются в объект CurrentSongsInfoArchive, их длина всегда равна 135.
NSMutableOrderedSet соответствует NSSecureCoding, но возможно ли даже сохранить NSMutableOrderedSet в атрибут в подклассе NSManagedObject?
1 ответ
Спасибо, @geo и @mitrenegade, за ваши предложения. К сожалению, это была глупая ошибка в моем коде архивации, которая вызвала проблему. Поскольку архивирование было плохим, разархивировать было нечего.
Итак, окончательный ответ... Да, можно сохранить NSMutableOrderedSet в атрибут NSData в подклассе NSManagedObject.