我是iOS開發新手,試圖弄清楚這裏發生了什麼。我有一個標籤欄應用程序與多個ViewControllers和類。我的一個課程被調用並更新了可以正常工作的uilabels。然後調用另一個類,它也運行後臺循環,用於更新同一ViewController上的其他一些uilabels,它們使用循環中的第一個條目更新一次,但不會在循環保持在後臺運行時更新。我可以看到循環仍在運行,並且細節在我使用NSLog記錄輸出時發生變化。iOS ViewController uilabel只更新標籤欄應用程序中的旋轉
ViewController也支持旋轉,如果我旋轉屏幕,然後循環中的數字被繪製到uilabel,並被固定,直到我再次旋轉屏幕,即如果我設置循環數到5,然後重置,取決於我在循環中旋轉屏幕的位置取決於1和5之間的哪個數字被繪製到uilabel。
在單個ViewController應用程序上,這個工作正常,循環運行並且uilabels實時更新。
更新uilabels的類從[super viewDidLoad]中調用。
感謝
這裏是循環類: -
+ (void)Loop:(FirstViewController *)vc
{
NSLog(@"start");
static NSUInteger counter1 = 0;
NSLog(@"with count %d", counter1);
counter1++;
NSLog(@"count ++ %d", counter1);
NSString *label01 = [NSString stringWithFormat: @"%d", counter1];
//update uilabel
vc.cha01.text = label01;
if (counter1 >= 5) {
counter1 = 0;
}
// run loop with 1 second delay
[self performSelector:@selector(Loop:) withObject:nil afterDelay:1];
}
工作,非常感謝。我也會看看你的其他建議,看看我如何優化代碼。 – Wez 2013-04-09 15:40:50