如何创建对象并使用for循环保存核心数据而不是每次都覆盖?

时间:2018-06-01 06:48:56

标签: swift for-loop core-data insert

我正在尝试使用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)")
                }

我在for循环中尝试过try try catch。我最初在for循环之前初始化了newHole,但我把它放在其他堆栈问题和响应的建议中。我最初只是newHole填写了newHole.holeX = holeX。显然,这些变化中的一些只是做同样事情的不同方式,但我已经在这上面旋转了很长时间,以便尽我所能。

0 个答案:

没有答案