У меня есть два основных объекта данных, Car
и Services
. Я хочу, чтобы у машины было несколько сервисов, поэтому я установил для машины тип Services
a to-many
.
Если я посмотрю свою базу данных, у меня будет таблица Car
с ее атрибутами и Services
таблица с ее атрибутами, обе сохраняются в соответствующих таблицах.
Проблема в том, что я не могу придумать, как получить услугу по прикреплению к машине. При взгляде на таблицу Services
есть столбец Car. Я знаю, что в файле Car+CoreDataProperties.swift
есть некоторые методы, такие как addToServices(_ value: Service)
& addToServices(_ value: NSSet)
, но когда я пытаюсь вызвать один из этих методов и передать свои служебные данные, я получаю эту ошибку:
CoreData: error: +[Services entity] Failed to find a unique match for an NSEntityDescription to a managed object subclass
Вот код, который вызывает эту ошибку:
func saveToCoreData() {
let car = Car(context: self.moc)
let service = Services(context: self.moc)
service.date = date
service.serviceType = self.serviceType
service.serviceCost = self.serviceCost
service.serviceComplete = self.servicecComplete
let serviceData: NSSet = [service.date, service.serviceType, service.serviceCost, service.serviceComplete]
car.addToServices(serviceData)
try? self.moc.save()
}
Чтобы сделать все это более трудным, данные вводятся через форму, которую я создал с помощью SwiftUI.