Когда я использую DataCore для хранения данных, существует пара ограничений, которые заставляют меня преобразовывать множество извлеченных объектов в объекты обычных классов, чтобы я мог регулярно работать с данными. Проблема в том, что такое поведение создает несколько посредственных строк кода.
Ограничения, с которыми я сталкиваюсь:
A. Отсутствие возможности создать объект с помощью конструктора, используя Init ()
B.Ограничение свойства, в частности, использование didSet {} при изменении свойства.
Например, вы не можете использовать didSet или создать конструктор в этом классе:
extension Time {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Time> {
return NSFetchRequest<Time>(entityName: "Time")
}
@NSManaged public var hours: Int
@NSManaged public var minutes: Int
}
Как мне преодолеть эти два ограничения?
2. Кроме того, до сих пор я создавал объект сущности DataCore, используя этот вид кода:
let timeEntity = NSEntityDescription.entity(forEntityName: "Time", in: managedContext)!
let time = NSManagedObject(entity: timeEntity, insertInto: managedContext)
time.setValue(10, forKeyPath: "hours")
time.setValue(20, forKeyPath: "minutes")
Это подходящий способ создать объект в Core Data?