Когда я изменяю любое текстовое поле в моей форме обновления новой информацией, ТОЛЬКО это изменение сохраняется. Все остальные ранее сохраненные данные для объекта теряются в процессе.
func updateDog (
id: String,
dogName: String,
activeStatus: Int16,
breed: String,
//etc (about 30 attributes below here )
)
{
let fetchDog: NSFetchRequest<Dog> = Dog.fetchRequest()
fetchDog.predicate = NSPredicate(format: "id == %@", id)
do {
let dog = try self.moc.fetch(fetchDog).first
dog?.dogName = dogName
dog?.activeStatus = activeStatus
dog?.breed = breed
//etc
if self.fetchDog(dogName: dogName)?.hasChanges ?? true {
try self.moc.save()
}
} catch
let error as NSError {
print(error)
}
Сообщения об ошибках отсутствуют, но все уже сохраненные атрибуты, которые не были изменены во время обновления, теряются в файле self.mo c. Сохранить процесс. Обновляются только отредактированные поля.
Я хочу, чтобы он игнорировал любой атрибут, который не был изменен, и просто обновлял измененные данные. Хожу кругами, но не могу добиться правильного поведения. Я не очень опытен, так как учился программировать всего несколько месяцев, и мои преуспевающие годы, вероятно, усугубили мою борьбу, чтобы решить проблему, с которой я столкнулся. Любая помощь с благодарностью принимается