문제

나는 자정까지 계산 된 간단한 응용 프로그램을 가지고 있으며, 계속해서 울부 짖는 소리를 반복해서 반복하고 시간을 보여주는 라벨을 깜박입니다. 따라서 레이블 깜박임은 NSTIMER를 사용하고 경고음은 자체 스레드를 사용하여 순수한 C 함수 (시스템 사운드 ID 완료 콜백)가 [NSTHREAD SleepFortimeInterval : ...]를 사용할 수 있도록합니다. 알람 경고음 소리를 연주하는 사이에 약간 기다립니다. 따라서 실행 중에 두 개의 오류 메시지가 표시되어 자동 제출 풀이 없으며 누출됩니다. 새 스레드로 호출하는 방법에는 시스템 사운드 ID (파일 이름 및 확장자)를 만드는 데 사용되는 두 개의 @"문자열"이 있기 때문입니다. 자동 제국 풀을 사용할 수없는 방법이 있습니까? 감사.

아니면 다른 스레드 대신 두 개의 nstimers를 사용해야합니다 ..?

Ben Gottlieb의 대답은 옳았지만, 다른 Nstimer를 대신 사용하기로 결정했습니다. 왜냐하면 나는 당신이 약간의 시간이 걸리기 전에 코드의 실제 실행으로 스레드를 잠들었을 때의 시간과 실제로 동기화되지 않았기 때문에 다른 nstimer를 사용하기로 결정했습니다. 그리고 그것은 물건을 대칭으로 만듭니다.).

도움이 되었습니까?

해결책

스레드 메소드에서 AutorElease Pool을 만듭니다.

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

... 실 본체 ...

[pool release];

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top