Как мне создавать объекты и сохранять с основными данными в цикле for вместо перезаписи каждый раз? - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь использовать цикл 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.очевидно, что некоторые из этих изменений были просто разными способами сделать одно и то же, но я крутил свои колеса на этом достаточно долго, чтобы попробовать все, что мог.

...