나는 uialertview를 해지하는 두 가지 방법이 있습니다. 하나는 버튼 클릭으로, 하나는 nstimer로. 타이머가 시작되기 전에 버튼을 클릭하면 타이머가 시작될 때 프로그램이 종료됩니다. 어떻게 타이머가 해제 메시지를 실행할지 여부를 알 수 있도록 uialertview의 상태를 확인합니까? 그리고 디버깅을 위해 NSLog 문을 사용해야합니다.uialertview가 해제되었는지 확인하는 방법은 무엇입니까? 내 프로그램에서
0
A
답변
1
제 생각 엔 당신이 할당 해제 된 포인터 UIAlertView
에 대한 부실 포인터가있어 예외가 발생하여 응용 프로그램이 중단되는 것 같습니다. 나는 당신이 UIAlertView
을 참조하는 인스턴스 변수를 재설정하지 않는다고 생각합니다.
UIAlertView 포인터를 저장하려면 인스턴스 변수가 있어야합니다. 또한이처럼 delegate
속성을 설정해야합니다
myAlert = [[UIAlertView alloc] initWithTitle:...];
myAlert.delegate = self;
[myAlert show];
// Now setup the timer
클래스는 UIAlertViewDelegate protocol 구현해야합니다, 특히 당신이 (필자는 이상을 사용하십시오) alertView:willDismissWithButtonIndex:
및/또는 alertView:didDismissWithButtonIndex:
를 구현해야합니다. 이 방법에서는, 인스턴스 변수 재설정 :
[myAlert release];
myAlert = nil;
// Also cancel timer
타이머를 취소를 중요한 어떤 더 nil
에 변수를 설정하는 것과 중요한 부분입니다하지 것입니다. 타이머가 실행되면 더 이상 충돌하지 않지만 타이머를 취소하면 여전히 좋은 생각입니다.
감사합니다. 나는 그것을 시도 할 것이다. – boobami
좋아요. 그것은 매력처럼 작동했습니다! 감사. – boobami