У меня есть много полей даты в моей базе данных. CoreData позволяет использовать NSDate или TimeInterval для сохранения дат в зависимости от опции Use Scalar Type.Использовать дату Swift с CoreData
Однако оба эти варианта плохо для меня, так как я хочу, чтобы использовать в качестве даты Date объектов. Поскольку NSDate неявно конвертируется в Date
, я должен преобразовать значения в Date
или реализовать множество пользовательских сеттеров/геттеров в классах NSManagedObject.
Я попытался использовать ValueTransformer
, но он не работает с классами не @ objc, такими как Date
.
Итак, есть простой способ сохранить и получить значения Date
в/из CoreData?
Это единственный способ, в Xcode 8. Файл запроса усиление с Apple, и, возможно, он будет получать в будущем обновлении. –
Я только что заметил, что вы написали книгу о CoreData. Так что, похоже, нет смысла ждать другого решения :) Спасибо еще раз. – Avt
Как насчет возможности установки «Codegen» на «Manual/None», а не для создания всего класса самостоятельно, просто выбрав свою модель слева и в меню, выбрав «Редактор -> Создать NSManagedObjectSubclass»? Что создает класс для вас, тогда все, что вам нужно сделать, это изменить NSDate на Date's. Вам придется делать это каждый раз, когда вы обновляете модель. – oyalhi