誰能解釋什么NSRunLoop?據我所知NSRunLoop,這與NSThread權利有關嗎?所以假設我創(chuàng)建一個像NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil];[th start];-(void) someMethod{ NSLog(@"operation");}所以在這個線程完成他的工作之后正確嗎?為什么使用RunLoops或在哪里使用?從Apple文檔中我讀到了一些內容,但對我來說還不清楚,所以請盡可能簡單地解釋一下
3 回答

動漫人物
TA貢獻1815條經驗 獲得超10個贊
RunLoops有點像發(fā)生事情的盒子。
基本上,在RunLoop中,您要處理一些事件,然后返回。如果超時之前未處理任何事件,則返回。您可以說它類似于異步NSURLConnections,它在后臺處理數據而不干擾您的當前循環(huán),但同時您需要同步數據。可以在RunLoop的幫助下完成此操作,RunLoop使您變得異步NSURLConnection并在調用時提供數據。您可以這樣使用RunLoop:
NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
while (YourBoolFlag && [[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate:loopUntil]) {
loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
}
在此RunLoop中,它將運行直到完成其他一些工作并將YourBoolFlag設置為false 為止。
同樣,您可以在線程中使用它們。
希望這對您有所幫助。
- 3 回答
- 0 關注
- 535 瀏覽
添加回答
舉報
0/150
提交
取消