繁体   English   中英

如何在NSSet Core Data中保存价值(Swift)

[英]How to save value in NSSet Core Data (Swift)

我必须在实体中并且两者都已连接。

在此处输入图片说明

我想在公司实体值中插入值,但是我不知道如何在company.employees(NSSet)中插入值。

员工和公司类别均如下:

extension Employees {

@NSManaged var name: String?
@NSManaged var age: NSNumber?
@NSManaged var address: String?
@NSManaged var company: Company?

}

extension Company {

@NSManaged var name: String?
@NSManaged var employees: NSSet?

}


// here i want to insert value 

    func addEmployees() {

    let companyEntity = NSEntityDescription.entityForName("Company", inManagedObjectContext: managedContext)
    let company = Company(entity: companyEntity!, insertIntoManagedObjectContext: managedContext)
    company.name = txtCompany.text


    let employeesEntity = NSEntityDescription.entityForName("Employees", inManagedObjectContext: managedContext)
    let employees = Employees(entity: employeesEntity!, insertIntoManagedObjectContext: managedContext)

    employees.name = txtName.text
    employees.age = Int(txtAge.text!)
    employees.address = txtAddress.text

    // getting no idea here how to save values to NSSet??
//  company.employees =




    do {
        try managedContext.save()            

    } catch {
        fatalError("Error in saving Data...")
    }


}

从另一端开始总是很容易做到这一点:

employees.company = company

核心数据将处理关系的许多方面,因为您已在数据模型中指定了逆关系。

另外,重命名您的实体。 应该将其称为Employee ,因为每个实体代表一个员工。 它将为您免去很多麻烦。

如果您真的坚持要在公司端进行编辑,则可以这样进行:

company.mutableSetValueForKey("employees").addObject(employees)

希望您会同意,它非常丑陋,而且更容易出错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM