내 앱을 처음으로로드 할 때 약 1 분이 소요되는 SQLite 테이블을 업데이트합니다. 사용자에게 계속 알려면 progressView를 사용하여 데이터로드를 표시하려고했지만 프로세스가 실행되는 동안 프로세스가 완료 될 때까지 화면이 검은 색으로 유지됩니다. 이 프로세스는 viewDidLoad에서 호출되므로 백그라운드에서로드가 완료 될 때까지 어떤 종류의 스레드를 사용해야합니까?progressView를 사용하여 화면 새로 고침
0
A
답변
0
백그라운드 처리가 진행될 때 진행보기의 애니메이션을 시작한 다음 화면에 데이터를로드하면 애니메이션 효과와 중지를 중지 할 수 있습니다.
위의 경우 스레드를 사용할 필요는 없지만 백그라운드 처리를 위해 UI 업데이트를 처리해야 할 때 화면에 그려지는 데이터가 있으면 스레드를 생성하고 주 스레드에 알림을 게시 할 수 있습니다 주 스레드에서만.
performSelectorOnMainThread은 주 스레드에 이벤트를 게시하는 데 사용할 수 있습니다.
0
주 스레드에서로드하는 경우 UI 구성 요소가 주 스레드에서 실행되므로 화면이 업데이트되지 않습니다.
그래서 진행 막대를 표시하려면 sqlite 업데이트를 새 스레드로 이동해야합니다 (예). :)
http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/