10 분마다 백그라운드 작업을 예약해야합니다. 이 작업은 핵심 데이터의 객체를 수집하고 웹 서비스에 정보를 업로드하여 어떤 방식으로도 변경하지 못하도록합니다.NSTimer를 사용하여 iST에서 NSThread 시작하기
내가 생각하고있는 접근 방식은 매 10 분마다 실행되는 앱 위임자에서 nstimer를 만드는 것입니다. 이것은 NSThread를 트리거하여 백그라운드에서 작업을 실행하여 사용자에게 방해가되지 않도록합니다. 스레드가 정상적으로 종료 한 후 여기로 이동합니다.
스레드를 시작하고 작업이 실행될 때마다 잠자기 모드로 설정했지만 타이머 접근 방식이 가장 깨끗한 것처럼 보였습니다.
웹상의 다른 제안은 runloops를 사용하는 것입니다. 그러나이 특별한 경우에는 사용할 수 없습니다.
누구나 제안 사항이 있거나 비슷한 상황을 어떻게 해결할 수 있는지 알려 드리고 싶습니다.
감사합니다.
안녕하세요 닉, 답변 해 주셔서 감사합니다. 기본적으로 스레드는 공유 컨텍스트를 소유하고 영구 저장소에서 개체를 검색합니다. 그런 다음 객체에서 정보를 가져 와서 웹 서비스에 업로드합니다. 어떤 방식 으로든 오브젝트를 변경하지는 않습니다. 그리고 그것은 스케줄링과 업로드 때문에 나는이 접근법을 생각하고 있습니다. ASIHTTPRequest를 사용하여 웹 서비스에 업로드하고 있습니다. – Bjarke
개발자가 공식적으로 포기하고 ARC와 잘 작동하지 않기 때문에 ASI를 사용하여 다시 생각해 볼 수 있습니다. 정상적인 비동기식 NSURLConnection을 사용하여 업로드를 수행 할 수 있으며 UI를 차단하지 않고 runloop에서 실행되며 새 스레드를 생성 할 필요가 없습니다 (내부적으로 스레드를 사용한다고 가정하지만 동시성을 직접 관리 할 필요는 없습니다). –