2012-03-26 3 views
2

두 개의 단추가있는 UIAlertView의 인스턴스를 만들고 클래스 (.h)의 인터페이스 파일에서 대리자를 설정했지만 단추를 클릭해도 응답을받지 못합니다. 를 취할 수 없습니다 여전히UIAlertView 대리자 메서드가 iOS 5.1에서 응답하지 않습니다.

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
NSLog(@"UIAlertView delegate works");//this line too isnt displayed 
NSString *title=[ alertView buttonTitleAtIndex:buttonIndex ]; 
if ([title isEqualToString:@"OK"]) { 
NSLog(@"OK Pressed"); 
}//i want to create something like this 

} 나는 위의 모든 코드를했지만 :

//myClass.h 
    @interface MainMenu : UIViewController<UIAlertViewDelegate> 
-(IBAction)secondAct:(id)sender; 

그리고 구현

-(IBAction)secondAct:(id)sender 
     alert = [[UIAlertView alloc] initWithTitle:@"Dear User" 
                 message:@"Your Request Will be Sent To Security" 
                 delegate:nil 
               cancelButtonTitle:@"Cancel" 
               otherButtonTitles:@"OK", nil]; 
    [alert show]; 
    [alert autorelease]; 
} 

및 대리자 방법 : 여기 내 코드입니다 동작. 클릭 한 버튼 중 어느 것이 든 경고를 보냅니다. 이 코드에 어떤 문제가 있습니까? PeterG. 친애하는 답변

delegate:selfdelegete:nil을 변경 주석 그것은 작동합니다.

+3

대리인 : nil이 작동하지 않습니다 ... 대리인으로 변경 : 자기 –

+0

이전에 시도했습니다. 오류가 발생했습니다. – ilhnctn

+0

@PeterG. 죄송합니다. – ilhnctn

답변

2

대리인이 자정으로 설정되어 있어야합니다. 오류가 발생하면 여기에 게시하십시오.

나는 또한 당신이 경고 ivar를 autorelease해야한다고 생각하지 않습니다. 그 라인을 건너 뛰고 무슨 일이 일어나는 지보십시오.

+0

아, 당신은 이미 일하고 있어요 : P – Sunkas

+0

편집에 내가 그것에 대해 언급했다. 고마워. – ilhnctn

0

대리인에게 "자체"를 제공하십시오.

-(IBAction)secondAct:(id)sender 
     alert = [[UIAlertView alloc] initWithTitle:@"Dear User" 
                 message:@"Your Request Will be Sent To Security" 
                 delegate:self 
               cancelButtonTitle:@"Cancel" 
               otherButtonTitles:@"OK", nil]; 
    [alert show]; 
}