在主執行緒里加入一個loading畫面……
2 {
3 [window addSubview:view_loading];
4 [NSThread detachNewThreadSelector:@selector(init_backup:) toTarget:self withObject:nil];
5 }
可以通過performSelectorOhMainThread更新UI元素,比如設置進度條等等。最後消除loading畫面,載入主View。
7 - (void)init_backup:(id)sender
8 {
9 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
10
11 // ...
12 int i = status;
13 [self performSelectorOnMainThread:@selector(show_loading:) withObject:[NSNumber numberWithInt:i] waitUntil Done:NO];
14
15 [view_loading removeFromSuperview];
16 [window addSubview:tabcontroller_main.view];
17 [pool release];
18 }
語法
{ [ window addSubview : view_loading] ; [ NSThread detachNewThreadSelector : @selector ( init_backup: ) toTarget : selfwithObject : nil ] ; } - ( void ) init_backup: ( id ) sender { NSAutoreleasePool * pool = [ [ NSAutoreleasePool alloc ] init ] ; // ... int i = status ; [ self performSelectorOnMainThread : @selector ( show_loading: ) withObject : [NSNumber numberWithInt : i] waitUntilDone : NO ] ; [ view_loading removeFromSuperview ] ; [ window addSubview : tabcontroller_main.view ] ; [ pool release ] ; }
全站熱搜
留言列表