2017-12-05 8 views
0

ich die Abschnitte eines UITableView Abschnitte mit folgendem bevölkern:Abrufen von Objekten aus fetchedResultsController.sections [Abschnitt]

fetchedResultsController = 
    NSFetchedResultsController(fetchRequest: fetchRequest, 
          managedObjectContext: managedContext, 
          sectionNameKeyPath: #keyPath(Players.team), 
          cacheName: nil) 

Mein UITableView die team im Abschnitt hat. Ich möchte auch die Stadt dem Abschnitt hinzufügen. Ich glaube nicht, dass ich zwei Elemente zum Abschnitt hinzufügen kann. Ich kann sehen, dass die folgenden Daten benötigt werden. Aber wie kann ich die Stadtinformationen abrufen?

override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 

    let sectionInfo = fetchedResultsController.sections?[section] 

    print("sectionInfo \(String(describing: sectionInfo?.objects))") 

    return sectionInfo?.name 
} 

Ergebnisse:

sectionInfo Optional([<Time_on_Ice.Players: 0x1c028cf30> (entity: Players; id: 0xd000000000100000 <x-coredata://EE1C8D6B-3FC5-4460-9F7F-3830328B6688/Players/p4> ; data: { 
    birthdate = "1990-02-07 05:00:00 +0000"; 
    city = "Tampa Bay"; 
    division = Atlantic; 
    firstName = Steven; 
    headshot = <ffd8ffe0 00104a46 49460001 01000048 00480000 ffe10058 45786966 00004d4d 002a0000 00080002 01120003 00000001 0001>; 
    height = "5'11\""; 
    lastName = Stamkos; 
    league = NHL; 
    level = Professional; 
    number = 91; 
    playersShiftRelationship = "<relationship fault: 0x1c403d060 'playersShiftRelationship'>"; 
    position = Centre; 
    shoots = Right; 
    team = Lightning; 
    weight = "177 lb"; 
})]) 

Antwort

0

Es sieht aus wie Sie nicht über ein Team Einheit haben und jeder Spieler enthält unabhängig alle Informationen zum Team. Diese Art der Denormalisierung ist in den Kerndaten nicht unbedingt falsch. Wenn also jede Entität mit demselben Team dieselbe Stadt hat, können Sie einfach auf das erste Element im Abschnitt zugreifen und dessen city-Eigenschaft abrufen. Es wird für jedes Element im Abschnitt

dasselbe sein
Verwandte Themen