2011-01-07 19 views
0

Ich habe einen Timer laufen und ich möchte es jedes Mal aktualisieren, wenn es tickt. Hier ist der Code, den ich habe. Es wird initialisiert in Ordnung, die Integer-Score wird aktualisiert, aber das Etikett aktualisiert nie von 0.iPad - Warum wird mein Etikett nicht aktualisiert?

score = score+1; 
scoreLabel.text = [NSString stringWithFormat:@"%d", score]; 
[scoreLabel setNeedsDisplay]; 

nun eine vorherige Frage, die ich eine Antwort bekommen hatte, die UI nur auf dem Haupt-Thread erwähnt Updates so jetzt es ist so aufgebaut:

-(void) updateGame:(NSTimer *)timer{ 
    [self performSelectorOnMainThread:@selector(updateScore) 
          withObject:nil 
         waitUntilDone:false]; 

}

aber noch kein Glück. Kann mir jemand in die richtige Richtung zeigen? So ein Problem habe ich noch nie gehabt.

+1

Zeigt scoreLabel wirklich auf Ihr Label? Dein Code scheint zu finden. –

+2

Haben Sie überprüft, dass 'scoreLabel' nicht null ist? Wenn es sich um ein IBOutlet handelt, überprüfen Sie, ob es in IB verbunden ist. – pgb

+0

scoreLabel weist darauf hin, ich habe gerade überprüft. Zumindest beziehe ich mich darauf, wenn ich seine visuellen Attribute einstelle. –

Antwort

0

Kommt die Timer-Benachrichtigung von einem Thread, der nicht der Hauptthread ist? Sie können die Benutzeroberfläche nicht von anderen Threads aktualisieren.

Verwandte Themen