• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

UIAlertView

jonnonnes

Gala
Registriert
17.04.11
Beiträge
52
Hi Leute,
was mache ich falsch
Code:
-(IBAction)abbrechen:(id)sender {
    if (sender == fertig) {
        // TODO: Einlesen von Text
    }
    else{
        UIAlertView *sicher =[UIAlertView alloc];
        [initWithTitle:@"Bist du dir sicher ?" message:@"Wirklich ?" delegate:self cancelButtonTitle:@"Nein" otherButtonTitles:@"Ja", nil];
        [sicher show];
        [sicher release];
        
               }    
        }
-(void)sicher:(UIAlertView *)actionPerformed clickedButtonAtIndex:(NSInteger)buttonIndex{
     if (buttonIndex == 0) {
     [window bringSubviewToFront:window];
} 
}

Window ist ein View und wenn ich NSLog versuche wird dieses auch nicht ausgegeben. Das heist das der Alert garnicht erst in die Methode sicher reingeht.

Danke im Vorraus
Jonnonnes
 
An welches Objekt wird denn die Methode "initWithTitle" gestellt?
 
Du solltest die Fehlermeldungen des Compilers beachten.

Code:
UIAlertView *sicher =[UIAlertView alloc];[
        [initWithTitle:@"Bist du dir sicher ?" message:@"Wirklich ?" delegate:self cancelButtonTitle:@"Nein" otherButtonTitles:@"Ja", nil];

Das geht so zu 100% nicht ohne Fehler durch.
Was du willst dürfte das sein:

Code:
UIAlertView *sicher =[[UIAlertView alloc]initWithTitle:@"Bist du dir sicher ?" message:@"Wirklich ?" delegate:self cancelButtonTitle:@"Nein" otherButtonTitles:@"Ja", nil];
 
Also erstmal Danke aber ihr habt glaube ich das ganze nicht richtig verstanden es geht nicht darum das UIAlertView zu implementieren sondern wie ich die verschiedenen ereignisse programmieren kann es geht um den Teil
Code:
-(void)sicher:(UIAlertView *)actionPerformed clickedButtonAtIndex:(NSInteger)buttonIndex{      if (buttonIndex == 0) {      [window bringSubviewToFront:window]; }
 
Oh jo Sorry ich hab das Ganze nicht gleich aus Xcode rauskopiert sondern dannach noch verändert und mich dann vertan eigentlich sieht das ganze so aus
Code:
-(IBAction)abbrechen:(id)sender { 
          if (sender == fertig) {         
          // TODO: Einlesen von Text  
          }    
          else{      
          UIAlertView *sicher =[UIAlertView alloc];        
          [[B][I]sicher[/I][/B] initWithTitle:@"Bist du dir sicher ?" message:@"Wirklich ?" delegate:self cancelButtonTitle:@"Nein" otherButtonTitles:@"Ja", nil];       
        [sicher show];         
        [sicher release];                        
        }
}
 -(void)sicher:(UIAlertView *)actionPerformed clickedButtonAtIndex:(NSInteger)buttonIndex{   
         if (buttonIndex == 0) {     
         [window bringSubviewToFront:window];
          }
 }
 
Ok, hab nach dem "Fehler" gar nicht mehr weitergelesen gehabt.

Die Methode die das die UIAlertview in ihrem Delegate aufruft heißt
Code:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
Wenn du die Methode anders nennst, wird sie logischerweise auch nicht aufgerufen. ;)

Die Methode heißt an sich alertView:clickedButtonAtIndex
bei dir sicher:clickedButtonAtIndex

Der erste Parameter nennt sich im Original alterView,
bei dir jedoch actionPerformed (was als Namen für eine Alertview wenig Sinn macht).
 
Leuchtet mir ein aber muss ich sonst noch irgendwas beachten irgendwelche outlets oder so denn
Code:
-(IBAction)abbrechen:(id)sender {
    if (sender == fertig) {
        // TODO: Einlesen von Text
    }
    else{
        UIAlertView *sicher = [[UIAlertView alloc]initWithTitle:@"Bist du dir sicher ?" message:@"Wirklich ?" delegate:self cancelButtonTitle:@"Nein" otherButtonTitles:@"Ja", nil];
        [sicher show];
        [sicher release];
        
               }    
        }
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 0){
    [window bringSubviewToFront:window];
} 
}
funktioniert einfach nicht.
 
Wird die Methode sicher nicht aufgerufen, oder ist der buttonIndex evtl. einfach nicht Null?
Die Alertview wird auch angezeigt?
 
Oh jo da war der Fehler falscher Index der war nämlich 1
Danke Jonnonnes