2013-02-24 3 views
2

Я пишу приложение, где я хочу отображать alertView, который показывает другое сообщение, в зависимости от того, были ли определенные обстоятельства. Если ни одно из условий не соответствует, то предупреждение не должно отображаться, а остальная часть приложения должна быть обработана. Моя проблема в том, что я не знаю, как это сделать. У меня есть следующий код:Попытка отображения alertView с использованием операторов if/else в iOS

- (void) methodThatIsCalled { 

      NSString *msg; 

      if (blah) { 

       msg = @"Message A"; 

      } 

      else if (blah blah) { 

       msg = @"Message B"; 

      } 

      else if (blah blah blah) { 

       msg = @"Message C"; 

      } 

      //Here is where I want to display the Alert code 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" 
                 message:msg 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
      [alert show]; 

      else { 

        Do rest of the application.... 


      } 

     } 

Может кто-нибудь показать мне, как сделать это так, что у меня есть только один блок кода отображения оповещения и динамически передавать строку сообщения на предупреждение, и ничего не делать, если ни один оговорок?

Заранее благодарим всех, кто отвечает.

+0

убедитесь, что вы отпустите предупреждение, в противном случае сво утечка памяти. – Guru

+0

Даже если я использую ARC? – syedfa

+0

ARC..then Игнорировать ... Счастливое кодирование. – Guru

ответ

4
- (void) showAlertWithTitle: (NSString*) title message: (NSString*) message 
{ 
    UIAlertView* alert= [[[UIAlertView alloc] initWithTitle: title message: message 
                delegate: NULL cancelButtonTitle: @"OK" otherButtonTitles: NULL] autorelease]; 
    [alert show]; 

} 

// В функции:

if (blah) { 
    [self showAlertWithTitle:@"Error" message:@"Message A"]; 
} 
else if (blah blah) { 
    [self showAlertWithTitle:@"Error" message:@"Message B"]; 
} 
3

Вы можете изменить

NSString *msg = nil; 

затем добавить, если

if (msg) { // If there is a message 
    //Here is where I want to display the Alert code 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" 
               message:msg 
               delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
    [alert show]; 
} else { 
    ... // Rest of application 
}