2012-09-18 74 views
0

我正在開發基於會議的應用程序。我想向用戶顯示一個來電窗口,我正在使用UIActionSheet來顯示該通知。現在,問題在於,可能來自服務器的呼叫隨時可能發生,因爲我們可能在應用程序的任何視圖中,如何使用UIActionSheet顯示來電通知?我必須設置什麼代表?使用UIActionSheet在IOS中顯示通知

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
           initWithTitle:msg_string 
           delegate:(id)?????????????????? 
           cancelButtonTitle:@"ACCEPT" 
           destructiveButtonTitle:@"DECLINE" 
           otherButtonTitles: nil]; 

任何建議,非常感謝。 謝謝。

+1

確保活着的對象;例如應用程序的委託。在典型的iOS應用程序結構中,它也具有對視圖層次結構頂層的引用。 – FluffulousChimp

+0

你在說根視圖嗎? – Newbee

+0

或主窗口 – FluffulousChimp

回答

0

確保活着的對象;例如應用程序的委託。在典型的iOS應用程序結構中,它也具有對視圖層次結構頂層的引用。 --Alan

+0

你可以接受你自己的回答 – tiguero

+0

這意味着你的問題得到解決使用AppDelegate? –

0

你應該設置如下。

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
           initWithTitle:msg_string 
           delegate:self 
           cancelButtonTitle:@"ACCEPT" 
           destructiveButtonTitle:@"DECLINE" 
           otherButtonTitles: nil]; 

委託是實現UIActionSheetDelegate方法的類。

像e.g

@implementation ViewController 

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
    { // you code   } 
@end 

所以clickedButtonAtIndex是actionSheet委託方法是在類的viewController和你alertView也從類的ViewController所示然後必須設置self。或者如果從ViewController類中編寫的其他類和委託方法體顯示的alertView然後作爲委託您需要設置ViewController類的對象。