2010-07-23 67 views
1

我有一個耗時的操作的方法,比如連續調用十次到 [[NSString alloc] initWithContentsOfURL:u];如何顯示和啓動從方法內動畫UIActivityIndi​​catorView

我想UIActivityIndi​​catorView那是在方法調用之前隱藏狀態顯示和動畫,所以我寫:

activityIndicator.hidden = NO; 
[activityIndicator startAnimating]; 

在方法

的開始,但當然它贏得了」工作。 UIActivityIndi​​catorView只會在方法結束後生成動畫。

這是不可接受的。我必須在函數調用期間顯示動畫。

任何人都知道該怎麼做?

NSOperation也許? (任何人有一個樣品上?)

回答

4

我假設你正在做一些費時的工作在這個方法,而正在執行的工作,你要查看的活動指示燈旋轉。昂貴的工作應該不要在主線程上完成(iOS可能會殺死你的應用程序!)。把你的昂貴的工作在一個單獨的線程有:

- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg 

...當方法(aSelector)完成後,請撥打:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait 

...有你停止活動的指標。

永遠不要在非主線程中調用任何UI代碼!

相關問題