되고, 나는 싶습니다, 다음 Java 의사와 같은 방식으로 기능 오브젝티브 C 코코아, 프로그램 뭔가 : 즉코코아 스레드는 한마디로 심술 궂은
public class MainClass
{
public void mainmethod() //Gets called at start of program
{
UILabel label = CreateAButton();
new DaemonClass(label).start();
//Do things without being interrupted by the Daemon class sleeping or lagging
}
}
public class DaemonClass extends Thread
{
public UILabel label;
public DaemonClass(UILabel lbl)
{
setDaemon(true);
label = lbl;
}
public void run()
{
int i = 0;
while(true)
{
i++;
i = i%2;
UILabel.setText("" + i);
Thread.sleep(1000);
}
}
}
... 내가 좋겠를 메인 스레드를 포함하여 다른 스레드의 진행이나 속도를 방해하지 않고 원하는 속도로 느려질 수있는 데몬 스레드를 생성하려고합니다.
나는 Dispatch Queue
과 NSThread
같은 것을 사용하려고 시도했다.
이들 중 하나를 사용할 때 라벨의 텍스트를 1에서 0으로 무한대로 토글 한 간단한 라벨 체인저 스레드를 만들려고했습니다. 사용자 인 나에게는 시동시 무작위로 선택되는 1 또는 0 중 하나에서 지속적으로 잠긴 것처럼 보였습니다.
이들 중 하나를 사용하고 [NSThread sleepForTimeInterval:1];
을 사용하려고 시도하면 스레드는 sleepForTimeInterval 호출 이후에 모두 함께 실행을 중지합니다.
또한, 문서를 다듬어서 [NSThread sleep...
이 잠든 동안 실행 루프가 호출되지 않는다는 사실을 확인했습니다.
도움이된다면 - (void)viewDidLoad;
메서드에서 스레드를 호출하고있었습니다.
당신에 대한 내 질문은 :
내 스레드 충돌에서 [NSThread sleepForTimeInterval:1];
을 중지, 또는 어떻게 : (! 바람직 코드 블록) 는 어떻게하는 방법 또는 코드 블록을 호출 데몬 스레드를 시작합니까
PS 만약 차이가 있다면, 이것은 iOS 용입니다
감사합니다. 디스패치 대기열을 사용하고 레이블 설정 방법을 사용하면 매력처럼 작동했습니다! 당신까지 엄지 손가락 :) –