2012-03-29 6 views
0

내 응용 프로그램은 XML 파일에서 다운로드 한 데이터로 구성됩니다. 데이터에는 짧은 텍스트와 이미지가 포함됩니다.사용자 친화적 인 방법으로 데이터 미리로드

현재 모든 데이터를 다운로드하고 모든 데이터가 다운로드 될 때까지 루트 뷰를 표시하지 않도록하는 ViewDidLoad 메서드의 뷰 컨트롤러에서 뷰를 작성합니다. 적어도 스플래시 화면에서 일부 데이터를 미리로드하는 것이 더 사용자 친화적 인 방식으로 표시되기를 바랍니다.

그런데 기본보기가 표시되는 동안 이미지가로드 될 수 있도록 지연 이미지로드를 수행했습니다.

뷰의 수는 XML의 행 수에 따라 다르지만 뷰를 구성하는 동안 XML을 비동기 적으로로드하는 것은 필요하지 않습니다 (또는 어쩌면 틀 렸습니다).

답변에서 해결책을 설명하는 것은 상당히 어려운 일이므로, 비동기 및 멀티 스레드 처리에 대한 자세한 설명이있는 문서 또는 책을 가리킬 수도 있습니다.

답변

1

나는 진행 표시 줄이 너무 좋은 것 (바람직하게 활동 표시 등) 당신은 어쨌든 약간의 "로드"보기를 표시해야 볼 수 없습니다.

다운로드가 완료되면 화면을 다시로드하고 다시 레이아웃합니다.

테이블 행의 셀 수를 의미하는 경우 numberOfRowsInSection 함수 (또는 사용하려는 값)가 모든 데이터를 다시로드하도록 테이블 뷰에 지시 할 수 있습니다. 로드 중입니다.

편집 : 당신이하지 말아야하는 것을 매우 사용자 친화적이지의 응용 프로그램의 로딩이 내가 scrollviews의 컬렉션을 가지고 있다는 것을 의미 뷰의 수에 의해

+0

를 aswell 속도가 느려집니다 때문에 응용 프로그램이 여전히로드된다. 그래서 당신은 activitycontrol를 표시하고 전체를 다시로드하는 동안 viewcontroller에서 모든 것을로드하는 것을 의미합니까? – Alexidze

+0

예 : 그리고 sth를 http://allseeing-i.com/ASIHTTPRequest/와 같이 사용하면 xml을 다운로드 할 수 있습니다. 실제로 진행률 표시 줄을 표시하기 위해 대부분의 작업을 수행합니다. :) – Infinite

1

didFinishLaunchingWithOptions : appDelegate의 모든 데이터를 구문 분석 한 후 다음 방법을 사용하여 구문 분석해야한다고 생각합니다.

[self performSelectorInBackground:@selector(downloadData:) withObject:nil]; 

방법 downloadData : 구문 분석 절차를 포함하고 있습니다. 당신이 O_O 비동기 적으로로드 할 수없는 이유

관련 문제