2010-05-04 70 views
0

每次我找到在互聯網(包括蘋果DOC)的例子將目標設置爲自這樣的:NSThread運行類

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

因爲我希望做一個更復雜的任務在後臺(涉及多個方法),我想創建一個名爲像這類Task的:

Task *task = [[Task alloc] init]; 
[NSThread detachNewThreadSelector:@selector(main) toTarget:task withObject:nil]; 

但我不知道,怎麼會來處理我Task類的實例變量?在我的方法main可以安全地調用我的類Task的方法使用[self myMethod]和修改成員變量假設我是唯一的線程訪問它?

的處理線程這種方式似乎怪我,對不起,如果我的問題是愚蠢的^^

在此先感謝

回答

1

如果只有一個NSThread(包括主線程),每個Task然後是,你想做什麼,就可以做什麼。只要有多個線程可以同時訪問某些數據,就必須提供同步。

+0

謝謝!所以我會立即嘗試,然後我會接受你的答案(因爲stackoverflow迫使我等待接受^^) – 2010-05-04 10:11:25