gpt4 book ai didi

swift - 如何从两个实体核心数据获取数据并在 TableView 中显示(Swift)

转载 作者:行者123 更新时间:2023-11-30 13:21:52 25 4
gpt4 key购买 nike

我有两个实体员工和公司。 enter image description here

我已在两个实体中插入数据。使用以下方法:

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.empAge = Int(txtAge.text!)
employees.address = txtAddress.text
// employees.company = company
company.mutableSetValueForKey(EntityName().employee).addObject(employees)

do {
try managedContext.save()


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

并使用此方法检索数据:

 func fetchCompanyName() {

let request = NSFetchRequest(entityName: EntityName().company)

if managedContext.countForFetchRequest(request, error: nil) > 0 {

do {
let fetchResult = try managedContext.executeFetchRequest(request)

company = fetchResult as! [Company]

} catch {

fatalError("Error in fetching company")

}
}
}

我想在节标题中显示公司名称,并在单元格中显示员工列表。部分的编号将等于公司名称。我不知道该怎么做???

感谢帮助

最佳答案

您只需向您的公司发出提取请求,然后通过其关系访问您的员工。

// Create a fetch Request for all companies.
let request = NSFetchRequest(entityName: EntityName().company)

// Retrieve an array of companies.
let companies = try! managedContext.executeFetchRequest(request) as! [Company]

// Ex: Get the employees for the first company.
let firstCompanyEmployees = companies[0].employees

现在您已将所有公司放入一个数组中,您只需使用您的 company.name 和每个 UITableViewCell 填充您的 UITableView header 即可> 内容包含员工信息。

请记住,您必须遵守UITableViewDataSource协议(protocol)提供必要的信息,例如:title对于每个部分和 content对于细胞。

希望有帮助:)

关于swift - 如何从两个实体核心数据获取数据并在 TableView 中显示(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37696884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com