코드는 한 번에 배치 작동하지 않음 :내 응용 프로그램에서 스레드에 다음 코드를 가지고
while (true) {
if (ready) {
progressIndicatorController.value++;
return;
}
}
레디 변수가 대리자 메서드에서 변경됩니다. 이 코드는 Xcode 도구 모음에서 "실행"버튼을 클릭하여 응용 프로그램을 열면 효과적입니다. 그러나이 애플리케이션의 .app (제품> 보관 파일을 클릭 한 다음 단계를 수행하여 생성 한)을 열면이 코드가 어떻게 든 더 이상 작동하지 않습니다.
progressIndicatorController.value
은 결코 증가하지 않으며이 if 문은 true
으로 평가되지 않습니다. 이 문제의 원인은 무엇입니까?
실제로 '준비'를 '휘발성'으로 설정하면 문제가 해결됩니다. 이 코드를 어떻게 다시 작성해야합니까? 나는 정직하게 대안을 생각해 낼 수 없다. 내가해야 할 일에 대해 조언 해 줬어? 답변 주셔서 대단히 감사합니다! – Frog
코드에 대해 더 많이 알지 못해도 어렵지만 일반적으로 NSThread는'performSelector : onThread : withObject : waitUntilDone :'과 함께 다른 스레드로부터 메시지를 보낼 수 있습니다. 예를 보려면 http://stackoverflow.com/questions/2584394/iphone-how-to-use- 개체 선택을 통해 개체를 만들거나 방법을 선택하십시오. 또한 때로는 두 개의 dispatch_async를 사용하는 것만 큼 쉽습니다. 하나는 스레드 블록 용이고 다른 하나는 완료 될 때 사용하는 것입니다. – Taum
포인터를 가져 주셔서 감사합니다. 나는 그것을 살펴볼 것이다. – Frog