Хобрук: Ваш путь к мастерству в программировании

Достижение постоянства данных для массива пользовательского типа

Я пытался получить постоянство данных для массива 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 и обратно? Если да, то как это обычно делается?


  • Лучше всего использовать NSCoding, но это работает намного лучше, если у вас есть class. structs архивирование — это большая работа в Swift. 07.01.2016
  • Я могу довольно легко преобразовать эти структуры в классы. Возможно, это хороший первый шаг здесь. 07.01.2016

Новые материалы

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

React Hooks: основы деструктуризации массива
Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

Пакеты R, используемые в Tesla
Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

Сокращение и слияние токенов для эффективных моделей VL: обзор
Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..