0

我正在开发基于会议的应用程序。我想向用户显示来电窗口,我正在使用 UIActionSheet 来显示该通知。现在,这里的问题是呼叫可能随时来自服务器,此时我们可能在我们的应用程序中的任何视图中,如何使用 UIActionSheet 显示来电通知?我必须设置什么代表?

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

非常感谢任何建议。谢谢。

4

2 回答 2

0

保证活着的物体;例如应用程序的委托。此外,在典型的 iOS 应用程序结构中,它具有对视图层次结构顶层的引用。-艾伦

于 2012-09-18T12:55:52.920 回答
0

你应该像下面这样设置。

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

委托是实现 UIActionSheetDelegate 方法的类。

像例如

@implementation ViewController

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

所以 clickedButtonAtIndex 是 viewController 类中的 actionSheet 委托方法,而你的 alertView 也显示在 ViewController 类中,那么你必须设置self。或者如果从其他类显示的 alertView 和在 ViewController 类中编写的委托方法体,那么作为委托,您需要设置 ViewController 类的对象。

于 2012-09-18T13:51:12.393 回答