이렇게 할 수 있습니까?1 초 : 객관적인 코딩 도움말
if (myVariable == 100 for more than 1 second) {
}
그래서 myVariable이 1 초 이상 100이면 무엇인가하십시오.
감사합니다. 엘리야
이렇게 할 수 있습니까?1 초 : 객관적인 코딩 도움말
if (myVariable == 100 for more than 1 second) {
}
그래서 myVariable이 1 초 이상 100이면 무엇인가하십시오.
감사합니다. 엘리야
타이머가 1 초인 if() 문의 본문에서 NSTimer를 시작할 수 있습니다.
if(myVariable >= 100 && myTimer == nil){
//NSTimer code here
}else if(myVariable < 100 && myTimer !=nil){
//Invalidate timer
//Set myTimer to nil
}
당신은 당신이 원하는 것을 그 메소드를 호출하는 타이머를 얻을 경우
같은 뭔가.이 방법은 효과가 있지만 도움을 줄 수는 없지만 실제 문제를 해결할 수있는 더 나은 해결책이 있다고 생각합니다.
그런 것 같지 않습니다. 아마도 다른 접근 방식으로이를 해결할 수 있습니다. 즉 누군가가 myVariable을 변경할 때마다 일종의 타임 스탬프를 남겨두고 마지막 변경 이후 얼마나 많은 시간이 경과했는지 확인할 수 있습니다.
myVariable을 새 값으로 설정할 때 시간을 저장할 수 있습니다 (여기 저기에 setter 메서드를 사용하면 쉽습니다). 그런 다음 잠시 후에 실행되는 타이머를 시작하고 그 동안 값을 변경하지 않았는지 확인하십시오.
그것은 비정상적인 패턴이지만, 성취하려고하는 것보다 더 나은 방법이있을 것입니다.
이 작업을 수행하는 다른 방법은 무엇입니까? – objectiveccoder001
나는 당신이 문제를 해결하기 위해 잘못된 접근 방식을 취하는 것 같아요. 이 코드의 컨텍스트는 무엇입니까? 왜 그런 짓을하고 싶니? 어쩌면 우리는 다른 접근법을 찾아 낼 수 있습니다. –
글쎄, 스피킹을 멈추었을 때 (사운드가 일정 레벨 이하로 떨어지면) 텍스트 필드에서 명령을 보낸다. 페일 세이프 (거의 ...) 나는 스피커가 말을 멈추었다 고 확신 할 때만 명령을 보내기를 원합니다. 어떤 아이디어 ?? – objectiveccoder001