Я пытался получить постоянство данных для массива Swift пользовательского типа, используя либо CoreData, либо NSUserDefaults. Однако во всех моих попытках до сих пор возникали проблемы с сохранением пользовательского типа на диск. Я использовал CoreData в предыдущем приложении, но сохранял только строки Swift в plist CoreData. Мой пользовательский тип (Swift Struct) включает следующие типы переменных:
NSDate
Bool
// An optional of another custom Swift Struct (containing an Enum and UIColor)
UIColor?
String?
String?
String?
Я попытался преобразовать массив в NSData, а затем повысить его при извлечении, но мне нужно сначала преобразовать массив в AnyObject (чего компилятор не сделает).
Я действительно мог бы просто использовать несколько советов в правильном направлении. Нужно ли расширять структуру, чтобы включить кодировщик и декодер в NSData и обратно? Если да, то как это обычно делается?