찾다

 >  Q&A  >  본문

xcode - iOS: Swift를 사용하여 무한 루프와 시간 간격이 있는 스레드를 추가하는 방법은 무엇입니까?

다음과 같이 간단하게 구현할 수 있습니다.
부울 유형 변수를 정의합니다. 이 변수는 루프할 때마다 판단되며, true이면 print(666)가 인쇄되고 스레드는 1초 동안 절전 모드로 전환됩니다.

주기를 반복하세요.

GCD의 .concurrentPerform을 사용해봤는데 특정 숫자만 실행할 수 있고 실제로는 무한 루프가 아니며 시간 간격을 설정하는 방법을 모르겠습니다.
인터넷에 NStimer 방법도 있지만 저는 모릅니다. 어떤 프레임워크를 가져왔는지 알 수 없으며 NSTimer 클래스도 없습니다(Swift 프로젝트).


Cadisplaylink를 사용해보니 문제는 해결됐는데, 전역변수로 초기화하면

으아악

오류가 보고되는데 이유는 무엇인가요?

巴扎黑巴扎黑2738일 전734

모든 응답(1)나는 대답할 것이다

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-31 10:34:00

    댓글에서 소유권 보유자가 target: self라는 것을 확인했습니다. 여기에 오류가 보고되었습니다.

    질문 뒤 질문은 다음과 같습니다.

    아, 그 당시에는 컨트롤러가 초기화되지 않았습니다. 감사합니다. 이 대상에 대해서도 물어볼 수 있습니까? 변수의 용도는 무엇입니까? 대부분의 대상이 self를 채우는 것만 알지만 모르겠습니다. 자기를 채우는 목적이 무엇인지, Agent를 설정하는 걸까요?

    간단한 이해는 다음 매개변수selector 的所属。
    一般时候,selector 都是指向某个类内的某个方法,当 let displaylink = CADisplayLink(target: self, selector: #selector(step)) 是写在相同类中时,自然 target 就是 self입니다.

    회신하다
    0
  • 취소회신하다