我作爲後臺線程在UIview中啓動了一個線程,該線程爲視圖傳輸數據。然而,在這種情況下會發生崩潰:當我在線程嘗試傳輸數據的時候離開視圖。我在UIview的背景中啓動了一個線程,離開視圖後線程會發生什麼?
我不明白UIview對象和線程之間的關係。我想它會崩潰,因爲線程試圖訪問UIview成員或方法,而這些成員或方法不再存在。所以,我想知道如果UIView已經離開,發生了什麼事情。
這是我的代碼分離:
- (void)reloadData {
isLoaded = NO; //UIView member.
[NSThread detachNewThreadSelector:@selector(getThreadInAnotherThread) toTarget:self withObject:nil];
}
- (void)getThreadInAnotherThread {
//Loading code
isLoaded = YES;
[self performSelectorOnMainThread:@selector(reloadTable) withObject:nil waitUntilDone:YES];
}
而且我沒有viewDidDisappear做任何事情。
那麼,如果我離開了UIview,線程仍然試圖訪問它的成員,它會崩潰?在我離開後,UIview何時發佈? – user268743 2009-12-21 04:38:40