Mein übergeordnetes Ziel ist es, ein UITableView zu erstellen, das alphabetische Abschnittsüberschriften enthält, die auf den Werten in einem Wörterbuch basieren.Anzeige der Wörterbuchwerte in einem UITableViewCell
Ich habe ein grundlegendes Objekt, das den Namen und die Beschreibung der Frucht enthält. Ich möchte die Namen der Frucht auf jeder UITableCell, unter dem entsprechenden Buchstaben für den Abschnitt Titel angezeigt werden.
Letztlich ist die Tableview etwas wie folgt aussehen: (wo CPS die Abschnittstitel sind)
C------------
Clementine
Cherry
Coconut
P------------
Pear
Peach
S------------
Strawberry
Hier ist meine Daten:
var fruitModel = [String:Any]()
fruitModel = [
"C" : [
FruitModel(name: "Clementine", description: "Clementines are super tasty!"),
FruitModel(name: "Cherry", description: "Cherry's are red."),
FruitModel(name: "Coconut", description: "Nuts for coconuts!!!"),
],
"P" : [
FruitModel(name: "Pear", description: "Pears rock!"),
FruitModel(name: "Peach", description: "Mmmm, Peach."),
],
"S" : [
FruitModel(name: "Strawberry", description: "A widely grown hybrid species of the genus Fragaria. It is cultivated worldwide for its fruit.")
]
]
Der Teil, der mich weg ist werfen wird Zugreifen auf die Namenszeichenfolge innerhalb des Wörterbuchwerts und Anzeigen in cellForRowAt. Der Code unten ist, wo ich stecken bin:
cellForRowAt:
var allValues = Array(fruitModel.values)
cell.fruitNameLabel.text = (allValues[indexPath.row] as AnyObject).name // Cannot subscript a value of type 'inout Array<Any>'
Sobald ich herausfinden, wie in jeder Zelle der Fruchtnamen anzuzeigen, ich werde in der Lage sein, arbeiten, um die Abschnittstitel zu erhalten. Ich brauche nur Hilfe mit meinem Fehler, den ich bekomme. Vielen Dank.
"keine definierte Reihenfolge" ist der Dolch, was? Dang. Was würdest du als Struktur empfehlen? Denken Sie daran, alles, was ich wirklich erreichen möchte, ist die Tabellenansicht, die alphabetisch mit Abschnittsüberschriften geordnet werden soll. Ich dachte nur, ein Wörterbuch wäre am einfachsten, um mein Modell zu verwalten. – Joe
Ein Array mit Tupeln würde den Trick machen. '[(String, [FruitModel])] so können Sie eine konsistente Reihenfolge beibehalten. –
Behalten Sie einfach ein Array, das die sortierten Schlüssel des Wörterbuchs ist. – vacawama