Obj-C -> Inkrementieren einer Zahl (und zeigt Schritte auf einer Kakao-label)
Ich bin neu mit Objective-C, so gibt es wahrscheinlich eine einfache Lösung dafür.
Ich soll eine Zahl hochgezählt, aber in jeder iteration zu zeigen, die Sie auf einem Etikett. (zum Beispiel, es zeigt 1, 2, 3, 4, 5... angezeigt wird abgesehen von einer Menge Zeit).
Habe ich versucht:
#import "testNums.h"
@implementation testNums
- (IBAction)start:(id)sender {
int i;
for(i = 0; i < 10; ++i)
{
[outputNum setIntValue:i];
sleep(1);
}
}
@end
und alle es Taten, war zu warten, für 9 Sekunden (scheinbar eingefroren) und dann angezeigt 9 in das Textfeld ein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ermöglichen die Schlinge um zwischen Nachrichten, verwenden Sie eine
NSTimer
oder verzögert durchführen. Hier ist das letztere:Hier ist eine timer-basierte Lösung. Sie finden es möglicherweise einfacher, zu Folgen. Sie können die text-Feld den Wert aus dem text-Feld:
Hier ist noch besser (sauberer) timer-basierten Lösung, mit einer Eigenschaft. Sie müssen binden Sie das Textfeld, um die Eigenschaft im Interface Builder (wählen Sie das Feld, drücken Sie ⌘4 wählen Sie das Objekt, und geben Sie
currentNumber
als Schlüssel zu binden).Eigentum-basierte Lösung hat mindestens zwei Vorteile:
Ja, weil das ist, was Sie gesagt haben, es zu tun. Die Grafik wird nicht wirklich aktualisiert, bis der Hauptlauf Schleife ist frei, um Sie anzuzeigen. Benötigen Sie
NSTimer
oder eine solche Methode, das zu tun, was Sie wollen.Eine bessere Frage könnte sein, warum Sie dies tun wollen?