2011-07-28 3 views
0

지금은 서버에서 다음보기에 대한 데이터를 얻고 있습니다. 이 작업이 진행되는 동안 사용자에게로드 표시기가 표시됩니다. 데이터가로드 된 후 주 스레드가 알림을 받고 새보기의 펜촉을로드합니다.다른 스레드에서 Nib 's를로드 할 수 있습니까? (iPhone dev)

내 질문은 : 이미이 로딩 메커니즘이 있기 때문에, 안전하게 작업용 스레드에있는 펜촉을로드하고 메인 스레드 내에서 밀어 넣을 수 있습니까?

+0

귀하의 설명은 분명하지 않지만 귀하의 데이터 다운로드는 다른 스레드에 의해 이루어진 것으로 생각됩니다. 이 스레드는 다운로드가 끝나면 주 스레드를 호출합니다. 난 괜찮아 ? –

+0

네가 맞습니다. 불분명 한 것에 대해 미안합니다. – Odys

답변

1

UIKit은 스레드 안전하지 않으므로 보조 스레드에서 펜촉을로드하는 것이 안전하지 않을 것으로 판단됩니다. UIViewController에서 펜촉을로드하고 주 스레드에서 표시하는 것만으로도 작동 할 수 있으며 다른 곳에서 중단 될 수 있습니다.

보조 스레드에서 주 스레드로 메서드를 디스패치하는 경우 performSelectorOnMainThread:withObject:waitUntilDone에 대해 알고 있다고 가정합니다. 펜촉을 넣으려고 할 때 보조 스레드에서 이것을 시도해 볼 수 있습니다.

편집 :

어떤 작업 스레드가 데이터를 검색하는 동안 작업 스레드가 완료되면 메인 쓰레드 만에 디스플레이 펜촉 견해를 가질 수 있도록, 펜촉을을 사전로드 어떻습니까?

+0

이것은 트릭을 수행 할 수 있지만 주 스레드가 펜촉을로드하는 동안로드 표시기가 중지됩니다. – Odys

관련 문제