1
假設我有一個創建對象的後臺線程。這個對象最終將需要更新用戶界面,所以它必須使其到主線程。在一個線程上分配一個對象並在另一個線程上釋放它似乎很尷尬。這是常見的,還是有更好的模式?考慮:在線程間傳遞對象所有權?
// Called on a background thread
-(void)workerDoStuff
{
MyObject *obj = [[MyObject alloc] init];
[self performSelectorOnMainThread:@selector(updateUI:) withObject:obj];
}
// Performed on main thread
- (void)updateUI:(MyObject *)obj
{
// Do stuff with obj
[obj release];
}
由於