TableView mit Cell Formatierung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TableView mit Cell Formatierung

    Hallo zusammen,

    habe einen TableView, welcher mir pro Zelle ein Datum einfügt.
    Ist das Datum == Aktuelles Datum -> Schrift rot, ansonsten schwarz

    Sieht dann wie folgt aus:
    05.06.2015
    20.06.2015
    22.06.2015

    Klappt auch genau so.
    Problem was ich jetzt habe: Lösche ich jetzt den ersten Datensatz (05.06.2015), sieht das Ergebnis wie folgt aus:
    20.06.2015
    22.06.2015

    Das wäre ja falsch.
    Könnt Ihr mir helfen?

    Anbei mein Code:

    C-Quellcode

    1. /*************** DATEN ABRUFEN ***************/
    2. func DatenAbrufen() {
    3. let fetchRequest = NSFetchRequest(entityName: "Datum_ITEM")
    4. let sortDescriptor = NSSortDescriptor(key: "datum", ascending: true)
    5. fetchRequest.sortDescriptors = [sortDescriptor]
    6. if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [Datum_ITEM] {
    7. Datum = fetchResults
    8. }
    9. TableView.reloadData()
    10. }
    11. /*************** ZELLEN MIT INHALT FÜLLEN ***************/
    12. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    13. let cell = tableView.dequeueReusableCellWithIdentifier("TableCell") as! UITableViewCell
    14. let Datum_ITEM = Datum[indexPath.row]
    15. var dateFormatter = NSDateFormatter()
    16. dateFormatter.dateFormat = "dd.MM.yyyy"
    17. var formDate = dateFormatter.dateFromString(Datum_ITEM.datum)
    18. var calendar: NSCalendar = NSCalendar.currentCalendar()
    19. let AktuellesDatum = calendar.startOfDayForDate(NSDate())
    20. let DatePickerDatum = calendar.startOfDayForDate(formDate!)
    21. let components = calendar.components(.CalendarUnitDay, fromDate: AktuellesDatum, toDate: DatePickerDatum, options: nil)
    22. let DiffDays = components.day
    23. if DiffDays <= 2 {
    24. cell.textLabel!.textColor = UIColor.redColor()
    25. }
    26. cell.textLabel!.text = "( \(Datum_ITEM.datum) )"
    27. return cell
    28. }
    29. /*************** TABLE VIEW DELETE ***************/
    30. func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
    31. if (editingStyle == .Delete) {
    32. let Datum_ITEM = Datum[indexPath.row]
    33. managedObjectContext?.deleteObject(Datum[indexPath.row])
    34. self.DatenAbrufen()
    35. }
    36. }
    Alles anzeigen




    Danke :)
  • ich lasse nach dem löschen die Daten mit DatenAbrufen() doch noch Mal erneut aus CoreDate auslesen
    In dieser Funktion ist auch ein TableView.reloadData()

    Würde das nicht eigentlich reichen?
    Das Resultat spricht ja deutlich dagegen, aber versuche zu verstehen, warum es so nicht klappt
  • beage schrieb:

    Ac[h]tung! schrieb:

    beage schrieb:

    Vorweg: Ich habe von Swift absolut keinen Plan.

    Nur so als Ansatz: reloadData oder refresh
    Irgendwann musst du , Obj-C wird nicht mehr lange leben :D
    Ouhhhh, wir warten mal ab :rolleyes:
    Ich habe nur irgendwo gelesen :)

    Aber ganz erhlich , Objective-C ist sehr unverständlich.. Viel kompiliziert und schwer zu verstehen.. zu viele sinnlose Chracktere im Sytanx..
    Darum fange ich erst mit swift an
  • beage schrieb:

    Ac[h]tung! schrieb:

    Ich habe nur irgendwo gelesen :)
    Aber ganz erhlich , Objective-C ist sehr unverständlich.. Viel kompiliziert und schwer zu verstehen.. zu viele sinnlose Chracktere im Sytanx..
    Darum fange ich erst mit swift an
    Es läuft immer wieder darauf hinaus...
    zu viele sinnlose Chracktere im Sytanx..

    Mhm, ja, was soll ich jetzt sagen ...
    Musst du nichts sagen. leider es ist bei mir so , zu viele sinnlose Chracktere im Sytanx nach meiner Meinung . Die erschweren den Satz zu verstehen

    Swift ist sehr kurz und rein zu verstehen...
  • das war jetzt irgendwie zu einfach - aber tatsächlich die Lösung oO
    daran habe ich überhaupt nicht gedacht.

    vielen dank :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SpecialFighter ()

  • Obj-C wird so schnell nicht verschwinden, denn viele Apps ( z.B.: Numbers, Keynote, Pages) von Apple sind noch in Obj-C geschrieben, und warum sollte Apple für kleine Änderungen an der App, welche funktionieren, komplett nochmals in Swift schreiben. Es wird eher passieren, dass neue Frameworks wie watchOS nur mit Swift geschrieben werden kann. Also willst du alle Features nutzen muss man auf swift umsteigen. Aber der Compiler wird weiterhin mit Obj-C umgehen können.