2013年6月11日 星期二

Multi Thread 散記

UI更新必須在主線程
很多文章使用detachNewThreadSelector或performSelectorInBackground啓動Thread,
然後呼叫performSelectorOnMainThread,通知主線程更新UI。
// 主線程呼叫
[self performSelectorInBackground:<#(SEL)#> withObject:<#(id)#>];
[NSThread detachNewThreadSelector:<#(SEL)#> toTarget:<#(id)#> withObject:<#(id)#>];
// 更新UI
[self performSelectorOnMainThread:<#(SEL)#> withObject:<#(id)#> waitUntilDone:<#(BOOL)#>];

使用NSOperationQueue的過程:
  1. 建立一个NSOperationQueue的實體 
  2. 建立一个NSOperation的實體 
  3. 將operation加入到NSOperationQueue中 
  4. release掉operation

沒有留言:

張貼留言