2011-03-14 4 views
0

안녕하세요,이 솔루션을 찾고 있지만 그것을 찾을 수 없습니다. UILabel, UIActivityIndicator가있는 모든로드 프로세스를 표시하기 위해로드 뷰 컨트롤러를 만들었습니다. 로드가 완료되면 탭 표시 줄 컨트롤러보기로 이동하려고합니다. 그러나 까다로운 부분은 데이터를로드하는 동안 작동하는 세 가지 NSOperations가 있다는 것입니다. 로드 뷰 컨트롤러에서 탭 막대 컨트롤러로보기를 푸시 할 때를 알 수 없습니다.푸시 방법 탭 막대보기로보기로드

정말 감사드립니다.

답변

0

충분히 단순해야한다. 작업이 완료되면 각 작업을 단일 공유 메서드로 호출하십시오. 그 메소드는 각 오퍼레이션의 isFinished를 체크해야한다. 세 가지 작업이 모두 완료되면 모든 작업이 완료되고 기본 탭 모음 컨트롤러를 불러올 수 있습니다.

+0

그러나 응용 프로그램 대리인과 같은 단일 공유 메서드는 어디에 호출해야합니까? – lifemoveson

+0

또한 기본적으로 내 구문 분석이 완료되었는지를 나타내는 didFinishParsing 함수 호출이 있으며 [self performSelectorOnMainThread : @selector (handleLoadedApps :) withObject : appList waitUntilDone : YES];를 호출하는 arraylist와 결과를 반환합니다. 별도로 nsoperation 각각에 델리게이트를 할당하고 세 가지 다른 nsoperationque를 가지므로 각 작업 호출을 처리하는 방법을 잘 모르겠습니다. – lifemoveson

0

이 문제를 처리하는 또 다른 방법은보기 상단에 추가로드보기 (예 : 사용자 정의 UIView)를 표시하고 작업이 완료되면 제거하는 것입니다. NSOperations를 시작하는 컨트롤러 내에서 뷰를 추가 할 수 있습니다. 그런 다음 모든 작업이 완료되면 실행되는 콜백 메서드에서 해당로드 뷰를 제거 할 수 있습니다. 이렇게하면 로딩 뷰에만 별도의 컨트롤러가 필요하지 않습니다.

나는 과거에이 사이트에 예제를 사용했습니다 : http://cocoawithlove.com/2009/04/showing-message-over-iphone-keyboard.html

관련 문제