2011-10-06 58 views
1

我不知道爲什麼會發生這種情況。它看起來對我是正確的。我寫了另一個UIAlertView,看起來好像沒問題,只要我刪除了這個,它就錯誤地寫了我寫的那個。我試圖按照這個tutorial在UIAlertView上獲取一些錯誤

這是在我的viewcontroller.m

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result 
{ 


switch (result) { 
     case MessageComposeResultCancelled: 
      NSLog(@"Cancelled"); 
      break; 
     case MessageComposeResultFailed: 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
      [alert show]; 
      [alert release]; 

     break; 
    case MessageComposeResultSent: 

     break; 
    default: 
     break; 
} 

[self dismissModalViewControllerAnimated:YES]; 
} 

這些錯誤都出現在它的衆多線,如向上:缺少「[」在消息的開始發送的表達。 (如果我有它把它在它希望把另一個,另一個,另一個initWithTitle :)

下一個錯誤是後:未申報indentifier「警報」(使用在展會和釋放)

任何表示,這想法是怎麼回事?提前致謝。

+0

看到這些SO問題:http://stackoverflow.com/questions/1231198/declaring-variables-inside-a-switch-statement http://stackoverflow.com/questions/1115304/can-i- declare-variables-inside-an-objective-c-switch-statement – tipycalFlow

+0

你的是一個典型的case語句聲明錯誤!而特拉維斯已經給出瞭解決方案... – tipycalFlow

回答

6

嘗試將括號添加到具有多行的case語句中。

- (void)messageComposeViewController:(MFMessageComposeViewController 
*)controller didFinishWithResult:(MessageComposeResult)result { 


switch (result) { 
     case MessageComposeResultCancelled: 
      NSLog(@"Cancelled"); 
      break; 
     case MessageComposeResultFailed: { 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
      [alert show]; 
      [alert release]; 

     break; 
     } 
    case MessageComposeResultSent: 

     break; 
    default: 
     break; } 

[self dismissModalViewControllerAnimated:YES]; } 
+0

謝謝你的工作。我認爲這與此有關。 – steven

+0

沒問題...很高興幫助。 – Travis

0

爲什麼設置代理,如果您的Alert中沒有額外的按鈕?我想,你應該改變委託:自我委託:無。

+0

我會嘗試。這就是該教程如何使用它,所以我去了它。 – steven

+0

試過了,錯誤仍然顯示出來。 – steven