2011-09-18 57 views
0

這裏是我用來初始化計時器一個代碼:初始化計時器其他代碼後從未運行

self.timer = [NSTimer scheduledTimerWithTimeInterval:5.0f 
target:self selector:@selector(tick:) userInfo:nil repeats:YES]; 

    NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop]; 
    [currentRunLoop run]; 

    int a = 10; 

調用後「[currentRunLoop運行];」,「一個INT = 10;」 (即使在通過定時器調用tick:方法之後)

爲什麼? 謝謝。

+0

你爲什麼叫'currentRunLoop'開展工作? –

+0

,因爲它不是主線程。 – Sergio

回答

1

[運行循環運行]停在那裏 - 它永遠不會過去的這行代碼,它只是「循環」

你不應該需要通常創造你自己的運行循環。

如果你想實現一個單獨的線程計時器只使用一個計時器在主線程和有目標方法在單獨的線程

+0

感謝您的回答。現在它可以工作。但我仍然不明白爲什麼它不能在我自己的線程中工作。 – Sergio