2010-05-04 71 views
0

美好的一天!iphone在iphone中的nsthread

我想在一個xcode項目中使用nsthreads,它將調用一個用於網絡訪問的函數,並將檢查網絡是否存在或不存在,所以我需要一個線程在執行完後會執行1分鐘檢查連接。並會繼續運行,除非應用程序關閉。

[NSThread detachNewThreadSelector:@selector(startTheBackgroundJob) toTarget:self withObject:nil]; 

startTheBackgroundJob

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
// wait for 3 seconds before starting the thread, you don't have to do that. This is just an example how to stop the NSThread for some time 
[NSThread sleepForTimeInterval:5]; 
//[self performSelectorInBackground:@selector(checkNet) withObject:nil]; 
[self performSelectorOnMainThread:@selector(checkNet) withObject:nil waitUntilDone:YES]; 
[pool release]; 

它僅適用於第一次,但沒有任何其他的,我的意思是隻有1圈這讓

能有人幫助我在這方面。

感謝

回答

0

我建議的NSTimer的組合,將觸發每5-10秒+可達性接口,檢查爲你的網絡狀態。不需要線程。使用Reachability檢查Apple的示例。

將這個呼叫viewDidLoad中

[NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES]; 

-(void) onTimer:(NSTimer *)theTimer 
{ 
    //Here perform reachability checks 
} 
+0

我把一切都設置我的意思是可達性等..唯一的事情是,我想以後每隔5撤銷方法, 10秒或薄荷糖讓說 – 2010-05-04 12:55:20

+0

再次看到答案,我加了一些示例代碼 – 2010-05-04 13:02:26

+0

非常感謝親愛的 – 2010-05-05 07:48:07

1

可以使用的NSTimer,而不是...財產重複設置爲YES

相關問題