Swift 如何使用for-in循环在核心数据中创建实体?

Swift 如何使用for-in循环在核心数据中创建实体?,swift,core-data,swift3,Swift,Core Data,Swift3,希望你们做得很好。我的DB中有两个实体:一个是具有总楼层数属性的House,第二个是具有属性楼层数(房屋中的楼层数)的floors。有一个1对多的关系。在楼层和房间之间。如果插入3个楼层,则需要3个独立的楼层实例,以便为每个楼层分配房间。 我正在努力解决的是如何使用for in循环创建正确的楼层数实体,以便为每个楼层分配房间数(房间是具有不同属性的不同实体)。请看下面我的尝试,如果你能尝试帮助我 class SetNumberOfFloorsVC: UIViewController { //M

希望你们做得很好。我的DB中有两个实体:一个是具有总楼层数属性的House,第二个是具有属性楼层数(房屋中的楼层数)的floors。有一个1对多的关系。在楼层和房间之间。如果插入3个楼层,则需要3个独立的楼层实例,以便为每个楼层分配房间。
我正在努力解决的是如何使用for in循环创建正确的楼层数实体,以便为每个楼层分配房间数(房间是具有不同属性的不同实体)。请看下面我的尝试,如果你能尝试帮助我

class SetNumberOfFloorsVC: UIViewController {

//MARK: - Properties

@IBOutlet private weak var numberOfFloorsTxt: UITextField!

private var managedObjectContext: NSManagedObjectContext!

private var floorNumberValue: Int16 {
    get {
        return Int16 (numberOfFloorsTxt.text!)!
    }
}

//MARK: - Actions

override func viewDidLoad() {
    super.viewDidLoad()
    managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}



@IBAction private func setTheNumberOfFloors(_ sender: UIButton) {
    if let correctType = floorNumberValue as? Int16 { // ignore the warning because I need to check if the value is for sure Int16.
        let house = House(context: managedObjectContext)
        house.numberOfFloors = correctType
        print("\(house.numberOfFloors)")

        let floor = Floors(context: managedObjectContext)
        for i in 0...house.numberOfFloors {
            floor.floorNumber = Int16(i)
            print("\(floor.floorNumber)")
        }
    } else {
        let screenAlert = UIAlertController(title: "Warning!", message: "Incorrect value. Only single or double digit numbers please!", preferredStyle: .alert)
        screenAlert.addAction(UIAlertAction(title: "Got it!", style: .default, handler: nil))
        self.present(screenAlert, animated: true, completion: nil)
    }


}


// MARK: - Navigation

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let identifier = segue.identifier {
        switch identifier {
        case "assign number of rooms": if let vc = segue.destination as? SetNumberOfRoomsPerFloor {
            vc.floorValue = floorNumberValue
            }
        default: break
        }
    }
}

您发现只创建了一个
Floors
对象?当人们开始使用CoreData时,这种问题非常常见!试试这条线,看看它是否有用:是的,它帮助了我。非常感谢您,先生。