나는 몇 시간 동안 내 코드를 꼼짝 않고 바라보고 있었기 때문에 나는 신선한 눈을 피하려고 여기에 올 수 있다고 생각했다. 타이머를 만들 필요가있어서 아래 코드를 사용했습니다. 첫 번째 줄은 타이머를 만들고 두 번째 부분은 내 decrementTime 메서드입니다. 이것은 IOS 앱의 목표 C에 있습니다. 이것은 StackOverflow에 게시 한 첫 번째 시간입니다. (일반적으로 나는 찾고있는 답변을 찾았습니다.) 따라서 필자가 따르지 않은 씌어지지 않은 규칙을 알려주십시오.NSTimer가 타이머를 두 줄로 늘리는 이유는 무엇입니까?
_timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(decrementTime) userInfo:nil repeats:YES];
- (void)decrementTime{
self.timeLeft--;
}
내가 처음 타이머를 무효화 어디 여기에 추가 할 것입니다
-(IBAction)infoClick:(id)sender{
[_timer invalidate];
}
여기에 내 코드에 다른 타이머를
- (void)hideInfoMessage {
_secondTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(decrementTime) userInfo:nil repeats:YES];
}
설명을 생성 정보 메시지입니다 : 주문 이벤트의 첫 번째 코드 블록 (타이머 만들기)로 시작됩니다. 그런 다음 두 번째 코드 블록이 호출됩니다 (타이머가 무효화됩니다). 마지막으로 내 세 번째 코드 블록이 호출됩니다 (새 타이머 만들기).
코드를 실행할 때 시각적으로 두 번 타이머가 증가하는 것을 볼 수 있기 때문에 두 번 증가한다는 것을 알고 있습니다.
FWIW, 여기서 규칙은 "unwritten"이 아닙니다 - 알아야 할 모든 것에 대한 FAQ를 살펴보십시오). 행운을 빌어 요 – Madbreaks
두 배가 감소하고 있음을 어떻게 알 수 있습니까? – rmaddy
'NSLog (@ "% s", __ FUNCTION __);'를'decrementTime'에 추가하려고 시도 할 때마다 호출됩니다. –