다음과 같이 간단하게 구현할 수 있습니다.
부울 유형 변수를 정의합니다. 이 변수는 루프할 때마다 판단되며, true이면 print(666)가 인쇄되고 스레드는 1초 동안 절전 모드로 전환됩니다.
GCD의 .concurrentPerform을 사용해봤는데 특정 숫자만 실행할 수 있고 실제로는 무한 루프가 아니며 시간 간격을 설정하는 방법을 모르겠습니다.
인터넷에 NStimer 방법도 있지만 저는 모릅니다. 어떤 프레임워크를 가져왔는지 알 수 없으며 NSTimer 클래스도 없습니다(Swift 프로젝트).
Cadisplaylink를 사용해보니 문제는 해결됐는데, 전역변수로 초기화하면
으아악오류가 보고되는데 이유는 무엇인가요?
댓글에서 소유권 보유자가
target: self
라는 것을 확인했습니다. 여기에 오류가 보고되었습니다.질문 뒤 질문은 다음과 같습니다.
간단한 이해는 다음 매개변수
selector
的所属。一般时候,
selector
都是指向某个类内的某个方法,当let displaylink = CADisplayLink(target: self, selector: #selector(step))
是写在相同类中时,自然target
就是self
입니다.