Nach der Suche nach SO habe ich festgestellt, dass es viele Fragen zum Gruppieren und Anzeigen von Daten im Tabellenansicht-Controller gibt, aber keine Reihenfolge nach Datum erfordert.Zeigt ein Array von Datumsangaben in der Tabellenansicht an. Swift
Ich habe eine Reihe von Datum
let dateObjects = [2016-12-22 16:00:00 +0000, 2016-12-22 16:15:00 +0000, 2016-12-23 16:00:00 +0000, 2016-12-23 16:15:00 +0000, 2016-12-23 16:30:00 +0000, 2016-12-24 16:00:00 +0000]
Objekte Wie kann ich ein Array wie die unten aus der oben dateObjects erstellen.
let items = [["4:00 pm", "4:15 pm"], ["4:00 pm", "4:15 pm", "4:30 pm"], ["4:00 pm"]]
Ich möchte Daten in einer Tabellenansicht wie das Bild unten zusammengefasst und dargestellt werden. Beachten Sie, dass die Daten und Uhrzeiten in aufsteigender Reihenfolge sind.
Ich habe versucht, die Daten in einem Wörterbuch zu gruppieren, um zu erkennen, dass die Wörterbücher nicht geordnet sind und deshalb würde ich nicht die Reihenfolge bekommen, die ich will.
Dieser Code funktioniert, wenn ich ein Array von Elementen liefern. Aber wie kann ich ein Array wie Objekte aus Datumsobjekten erstellen?
let section = ["Thu, 22 Dec", "Fri, 23 Dec", "Sat, 24 Dec"]
let items = [["4:00 pm", "4:15 pm"], ["4:00 pm", "4:15 pm", "4:30 pm"], ["4:00 pm"]]
override func numberOfSections(in tableView: UITableView) -> Int {
return self.section.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items[section].count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath)
cell.textLabel?.text = self.items[indexPath.section][indexPath.row]
cell.accessoryType = UITableViewCellAccessoryType.disclosureIndicator
return cell
}
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return self.section[section]
}
var valueToPass:String!
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath){
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow!
let currentCell = tableView.cellForRow(at: indexPath)! as UITableViewCell
valueToPass = currentCell.textLabel?.text
performSegue(withIdentifier: "TableDetailSegue", sender: self)
}
Wenn Sie ein Datum bestellen möchten, müssen Sie ein ** Array ** erstellen, das die Daten und Zeiten in einem Unterfeld enthält. Das Array repräsentiert die Abschnitte und die Sub-Arrays die * Zeiten * in den Abschnitten. Die am besten geeignete Methode ist eine benutzerdefinierte Struktur oder Klasse mit Eigenschaften zum Formatieren der Daten in die richtigen Zeichenfolgen. 'NSDictionary' wird sowieso nicht empfohlen. – vadian
Ich kann nicht helfen zu bemerken, dass Sie _aney_ Code nicht gezeigt haben. Keiner. Null. Zilch. Nada. Wie kann jemand sagen, was du falsch machst, wenn du überhaupt nicht zeigst, was du tust? – matt
meinst du sowas? '['Do 22 Dec': ['4:00 PM', '4:15 PM'], 'FR 23 Dec': ['4:00 PM', '4:15 PM', '4:30 PM '],' Sa 24 Dez ': [' 4:00 PM ']] ' – user44776