Я пытаюсь использовать цикл for для создания объектов, которые имеют атрибуты, которые я буду использовать позже для заполнения карты.Я могу просмотреть и заполнить атрибуты объекта, но когда я сохраняю объект, он, кажется, перезаписывается каждый раз.цикл for извлекает данные из моей базы данных firebase.
let holes = [hole1,hole2,hole3,hole4,hole5,hole6,hole7,hole8,hole9,hole10,hole11,hole12,hole13,hole14,hole15,hole16,hole17,hole18]
for hole in holes {
let holeX = hole?["HoleX"] as? Double // these are just grabbing the data for the appropriate hole from my firebase data.
let holeY = hole?["HoleY"] as? Double
let holeH = hole?["HoleH"] as? Double
var newHole = NSEntityDescription.insertNewObject(forEntityName: "HoleCoordinateData", into: self.managedObjectContext)
newHole.setValue(holeX, forKey: "HoleX")
newHole.setValue(holeY, forKey: "HoleY")
newHole.setValue(holeH, forKey: "HoleH")
newHole.setValue(holeNumber, forKey: "holeNumber")
newHole.setValue("\(holeNumber)", forKey: "holeNumberString")
self.managedObjectContext.insert(newHole)
holeNumber += 1
}
do {
try self.managedObjectContext.save()
} catch {
print("Could not save Data: \(error.localizedDescription)")
}
Я попытался поймать do try внутри цикла for.Первоначально у меня была инициализация newHole до цикла for, но я поместил его внутрь по совету некоторых других вопросов стека и ответов.Изначально я заполнил newHole
, просто выполнив newHole.holeX = holeX
.очевидно, что некоторые из этих изменений были просто разными способами сделать одно и то же, но я крутил свои колеса на этом достаточно долго, чтобы попробовать все, что мог.