정기적으로 서버에 폴링하는 앱이 있습니다. 폴링은 타이머 작업을 사용하여 수행됩니다. 타이머는 한 화면에서만 사용해야하므로 다른 화면으로 이동하면 타이머가 무효화됩니다.NSTimer - 여러 인스턴스가 생성되었습니다.
가끔 타이머가 무효화되는 경우가 있지만 때로는 그렇지 않은 것으로 나타났습니다. 무효화되지 않으면 여러 인스턴스가 계속 생성됩니다. 다음과 같이 내가 타이머를 초기화 한
:
timer = [NSTimer scheduledTimerWithTimeInterval: 2
target: self
selector: @selector(timerTask:)
userInfo: nil
repeats: YES];
다음과 같이 무효 :
if(timer){
[timer invalidate];
timer = nil;
}
이 도와주세요은 무엇을 필요로하는 것은이 경우에 할 수있다. 사전에
감사합니다.
예, 사용자가 폴링을 수행해야하는 원래 화면으로 돌아올 때 타이머를 다시 초기화하고 있습니다. 문제는 주로 다음 화면 -> 타이머 중지 -> 화면 2 호출 -> 뒤로 버튼 클릭 ->보기가 수퍼 뷰에서 제거 된 경우 발생하며 여기에서 새 인스턴스가 만들어집니다. 나는 이것이 문제의 원인이라고 생각한다. 다시 타이머를 맞출 때 다시 시작해야합니다. – iOSDev
어떻게 달성 할 수 있습니까? – iOSDev