ios - 用什么类 可以每隔一段时间执行一次代码 包括在后台
迷茫
迷茫 2017-04-18 09:51:38
0
4
537

1.用timer的话 vc没有了 timer也跟着释放了 如果不释放 那就成循环引用了
2.用本地通知的话,只能设置固定时间为触发时间,不能像定时器那样每隔一段时间执行一次

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(4)
PHPzhong

GCD 타이머 사용을 권장합니다. GCD의 타이머는 NSTimer와 다릅니다. NSTimer는 RunLoop의 영향을 받지만 RunLoop도 GCD를 기반으로 하기 때문에 GCD의 타이머는 영향을 받지 않습니다.

으아아아
左手右手慢动作

NSTimer 싱글턴을 사용한 다음 메인 스레드에 참여하세요 runloop

迷茫

에이전트 플러스 GCDj 플러스 싱글톤

黄舟

사용 방법은 귀하에게 달려 있습니다. 구체적인 상황을 분석하십시오.

  • 개인적으로 가장 좋은 방법은 Runloop입니다. 새 클래스를 만들고 클래스가 인스턴스를 초기화한 후 새 스레드를 만들고 이 스레드의 Runloop 메시지를 듣고 신호 소스를 추가한 다음 구현합니다. 콜백 메소드에 필요한 사항이 있습니다. 이렇게 하면 일부 NSTimer 오류나 기타 문제를 피할 수 있습니다.

  • 두 번째는 모니터링CADisplayLink입니다. 물론 모니터링CADisplayLink에도 작업량이 많아 '프레임 드랍'이 발생할 수 있습니다.

그런데 등록하지 않으면 백그라운드에서 구현하기가 쉽지 않습니다音频服务. 이 방법도 공부할 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿