"iOS,이 메서드를 a.s.a.p.를 실행하고 싶지만이 실행 루프 반복에 넣지 말고 다음 단계로 넘어가십시오.하지만이 중 하나를 실행하지 마십시오. 감사합니다."메서드 호출 방법 a.s.a.p. 하지만 다음 실행 루프 반복에서 가장 초기에?
는 지금은 항상 이런 식으로 일을하고있다 :
[self performSelector:@selector(doSomethingInNextRunLoop) withObject:nil afterDelay:0];
[self doSomeOtherThings];
을 -doSomeOtherThings
항상 -doSomethingInNextRunLoop
하기 전에 수행 할 것이라는 가정으로.
문서는 말한다 :
0의 지연이 반드시 선택이 즉시 수행 할 수 발생하지 않습니다 지정. 선택기는 여전히 스레드의 실행 루프에 대기하고 가능한 한 빨리 수행됩니다.
그래서 기본적으로는 -doSomeOtherThings
전에 실행할 -doSomethingInNextRunLoop
의 원인, 난 그냥 직접 메시지를 보낸 것처럼 메소드가 즉시 호출되는 일이 발생할 수 있습니까?
어떻게하면 a.s.a.p.라는 이름을 붙일 수 있습니까? 그러나 결코 같은 실행 루프 반복에서 절대?
문구를 명확하게하기 : 실행 루프에서는 주 스레드와 스레드가 새로운 이벤트를 위해 다시 준비 될 때까지 모든 메서드를 반환해야하는 반복을 의미합니다.
최고! 이것을 용이하게하는 범주는 의미가 있습니다. – openfrog