2016-06-08 48 views
0

我有兩個實體員工和公司。 enter image description here如何從兩個實體獲取數據並在表格視圖中顯示核心數據(Swift)

我在兩個實體中都插入了數據。使用以下梅索德:

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") 

     } 
    } 
} 

我想表明在節頭和細胞的員工名單的公司名稱。部分的編號將等於公司名稱。我不知道該怎麼做?

感謝您的幫助

+0

你熟悉'NSFetchedResultsController'及其委託方法嗎?如果你實現了一個,你可以在實體Employees中設置它的'sectionNameKeyPath'值爲一個新屬性的值(例如'sectionIdentifier'),當你添加新對象時,你設置爲'company.name'。 – andrewbuilder

回答

0

你可以簡單地爲您的公司爲獲取請求,然後通過關係進入公司的員工。

// 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頭的。

請記住,您必須符合UITableViewDataSource協議以提供必要的信息,例如:每個部分的title和單元格的content

希望可以幫到:)

相關問題