Ich habe ein Array gebaut, das Datumselemente enthält. Das heißt, angesichts des aktuellen Datums ist das Array eine Sammlung einer vorhergehenden Woche und einer vorhergehenden Woche.Neue Klasseninstanz für jeden Tag des Monats?
// ... UIView class properties
var dateArray = [Date]()
// ... UIView class properties
func getDate() {
// get date in raw format
let minute: TimeInterval = 60
let hour: TimeInterval = 60 * minute
let day: TimeInterval = 24 * hour
for i in -7...7 {
let date = Date(timeIntervalSinceNow: day * Double(i))
dateArray.append(date)
}
}
Diese Daten (nach der Formatierung) für eine im Hintergrund Ansicht eines UICollectionViewController, ein picker mit Terminen präsentierte Ansicht verwendet werden. Die DataSource des UICollectionViewControllers muss irgendwie von diesen Daten abhängig sein. Das heißt, der Benutzer füllt jede CollectionCell mit Informationen, die Aktivität, die er/sie an diesem Tag abgeschlossen hat. Die Auswahl eines neuen Datums (in der Auswahlliste) bedeutet eine brandneue und standardmäßige CollectionView DataSource.
Was ich jetzt erreichen möchte, ist (1) aktualisieren Sie meine UICollectionViewController basierend auf den Daten, die zu dem ausgewählten Tag gehören, und (2) wie die Tage Fortschritt (im wirklichen Leben), alte Informationen, die außerhalb meines Intervalls liegt geht aus der Existenz und neue werden geschaffen.
Ich vermute, ich verbinde mein dateArray mit der DataSource meines UICollectionViewController und irgendwie aktualisieren sie ich weiß einfach nicht wie.
Jede Hilfe wird sehr geschätzt werden, da ich nicht die Logik finden kann, um dies zu implementieren.
Vielen Dank, eine Neuberechnung des Datums, wie Sie vorschlagen sinnvoll. Ich habe bemerkt, dass ich meine Frage nicht ganz genau geschrieben habe (jetzt bearbeitet). Ich möchte, dass die DataSource vom ausgewählten Datum abhängig ist, das heißt, wenn ich das Datum ändere, ändern sich die Daten, die die Zellen füllen, an diesem bestimmten Tag. Ich vermute (1) eine Standarddatenklasse zu erstellen, (2) das Datum als Argument in Custom Init zu übergeben, um eine Abhängigkeit herzustellen, und schließlich eine Instanz dieser Datenklasse für jedes Datum in der Select-Date-Ansicht (PickerView) zu erstellen. – vas