2011-11-06 4 views
2

하나의 뷰를 다른 뷰로 변경하면 viewdidload에서로드 할 때 인터페이스를 업데이트하는 데 너무 많은 시간이 걸리고 그 이유가 데이터로드이므로 새 뷰의 viewdid가 표시된 후 uitableview 데이터를로드하려고합니다. 사용자가 새로운 인터페이스와 "Loading ..."레이블을 표시 할 수 있도록 먼저 인터페이스를로드해야합니다. 그러면 데이터로드가 발생하고 마지막으로 uitableview가 나타납니다.viewdidappear 후 uitableview 데이터로드?

도움을 주시면 감사하겠습니다.

+1

질문이 무엇이 었는지 확실하지 않습니다. – user523234

답변

1

다음과 같이 데이터를 백그라운드로로드하십시오. 자신의 코드로 세부 정보를 입력하여 원하는대로 UI를 업데이트하고로드되는 데이터의 상태를 추적하십시오. 백그라운드 옵션을 실행하는 다른 방법 (동시성 프로그래밍 가이드 참조)을 살펴보면 더 많은 옵션과 제어가 가능합니다.

- (void)viewDidLoad 
{ 
    [self performSelectorInBackground:@selector(loadData) withObject:nil]; 
} 

- (void)loadData 
{ 
    @autoreleasepool { 
    // load the data 
    [self performSelectorOnMainThread:@selector(didLoadData) withObject:nil waitUntilDone:NO]; 
    } 
} 

- (void)didLoadData 
{ 
} 
+0

대단히 감사합니다! – stefanosn