IF Schleife in der TableView funktioniert nicht? Warum!?

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

  • IF Schleife in der TableView funktioniert nicht? Warum!?

    Hallo liebe Entwicklergemeinde,
    ich habe mal wieder ein Problem....


    Ich versuche in einer TableView eine IF Schleife unterzubringen. In der Schleife soll abgefragt werden, ob das gespeicherte Datum (CoreData) kleiner ist als das aktuelle. Wenn das gespeicherte Datum kleiner ist, soll die Schrift dieses Inhaltes in der Tabelle rot werden. Wenn nicht, soll es normal bleiben! Soweit so gut. Leider funktioniert es aber nicht. Es wird mal jeder Eintrag in der Tabelle rot, dann mal nur ein oder zwei, mal keiner, usw.... Ich kann leider keine Logik aus dem Verhalten erkennen? Kann mir hier jemand sagen warum das so ist? Mache ich was falsch oder darf ich keine IF Schleife in der configureCell Funktion nutzen?


    Hier mein Code:




    - (void)configureCell: (UITableViewCell * )cell atIndexPath: (NSIndexPath * )indexPath {

    LearningObjects *learningObjects = [fetchedResultsController_ objectAtIndexPath:indexPath];
    NSDate *currentDate = [NSDate date];


    NSLog(@"currentDate = %@",currentDate);
    NSLog(@"remindDate = %@",learningObjects.remindDate);

    if (learningObjects.remindDate < currentDate) {

    NSLog(@"remindDate < currentDate");
    cell.textLabel.textColor = [UIColor redColor];
    cell.detailTextLabel.textColor = [UIColor redColor];

    cell.textLabel.text = learningObjects.firstLearningObject;
    cell.textLabel.font = [UIFont systemFontOfSize:16];
    cell.textLabel.numberOfLines = 0;

    cell.detailTextLabel.text = learningObjects.secondLearningObject;
    cell.detailTextLabel.font = [UIFont systemFontOfSize:16];
    cell.detailTextLabel.numberOfLines = 0;
    }

    else if (learningObjects.remindDate >= currentDate) {


    NSLog(@"remindDate >= currentDate");
    cell.textLabel.text = learningObjects.firstLearningObject;
    cell.textLabel.font = [UIFont systemFontOfSize:16];
    cell.textLabel.numberOfLines = 0;

    cell.detailTextLabel.text = learningObjects.secondLearningObject;
    cell.detailTextLabel.font = [UIFont systemFontOfSize:16];
    cell.detailTextLabel.numberOfLines = 0;
    cell.textLabel.textColor = [UIColor colorWithHue:(0.60) saturation:0.60 brightness:0.60 alpha:1.0];
    cell.detailTextLabel.textColor = [UIColor blackColor];
    }
    }

  • hns schrieb:

    Thallius schrieb:

    1. Es gibt keine IF Schleifen


    if-schleife.de/

    Mich täte rein soziologisch-linguistisch mal interessieren, wo der Begriff herkommt. Wird der in irgendwelchen Schulungen, Foren, Büchern verbreitet? Oder entsteht er (wie zufällige Mutationen) immer wieder neu?


    Naja, wir haben ja üblicherweise Konstruktionen der Form WORT(BEDINGUNG) AUSRUCK. Im Fall dass WORT = [for, while] sprechen wir von einer Schleife. Bei if eben nicht. Macht zwei von drei Fällen. Da kann das vielleicht passieren :D
    C++
  • zerm schrieb:

    hns schrieb:

    Thallius schrieb:

    1. Es gibt keine IF Schleifen


    if-schleife.de/

    Mich täte rein soziologisch-linguistisch mal interessieren, wo der Begriff herkommt. Wird der in irgendwelchen Schulungen, Foren, Büchern verbreitet? Oder entsteht er (wie zufällige Mutationen) immer wieder neu?


    Naja, wir haben ja üblicherweise Konstruktionen der Form WORT(BEDINGUNG) AUSRUCK. Im Fall dass WORT = [for, while] sprechen wir von einer Schleife. Bei if eben nicht. Macht zwei von drei Fällen. Da kann das vielleicht passieren :D


    ich glaub, es wird auch mit an dem üblichen BLOCK nach der Bedingung liegen.
    snafu
    :() { :|: &};:
    sometimes i dream in hex
    Obey gravity! Because its a law!
  • chartus schrieb:


    Naja, wir haben ja üblicherweise Konstruktionen der Form WORT(BEDINGUNG) AUSRUCK. Im Fall dass WORT = [for, while] sprechen wir von einer Schleife. Bei if eben nicht. Macht zwei von drei Fällen. Da kann das vielleicht passieren :D


    ich glaub, es wird auch mit an dem üblichen BLOCK nach der Bedingung liegen.

    Das klingt beides plausibel. Vielleicht gibt auch noch Lehrbücher wo eine Schleife durch einen "If (nicht fertig) goto Schleifenanfang" ausführlich erklärt wird. Bzw. Assembler wo das eine Verzweigung mit negativem relativen Offset ergibt.

    -- hns
  • Hatten wir schon öfters, beispielsweise vor gut drei Jahren...

    Lucas de Vil schrieb:

    Original von kressevadder

    Quellcode

    1. int i = 0;
    2. Schleife:
    3. NSLog(@"ih %i" , i);
    4. i++;
    5. if (i < 10) goto Schleife;
    ;)


    Dazu fällt mir auch noch Blödsinn ein...

    Quellcode

    1. - (void) immerWieder:(int)sonntags {
    2. if( sonntags >= 0 ) {
    3. NSLog(@"Noch %i Sonntage...", sonntags);
    4. sonntags--;
    5. [self immerWieder:sonntags];
    6. }
    7. return;
    8. }
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Lucas de Vil schrieb:

    Hatten wir schon öfters, beispielsweise vor gut drei Jahren...

    Lucas de Vil schrieb:

    Original von kressevadder

    Quellcode

    1. int i = 0;
    2. Schleife:
    3. NSLog(@"ih %i" , i);
    4. i++;
    5. if (i < 10) goto Schleife;
    ;)




    Also so ungefähr sah mein erstes Programm auf einem CBM2032 auch mal aus...

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)