代码之家  ›  专栏  ›  技术社区  ›  W Dyson

应用程序委托发出警告:“id<uiapplicationDelegate>”不符合“uiAlertViewDelegate”协议

  •  0
  • W Dyson  · 技术社区  · 14 年前

    我目前正在使用uiAlertView在我的应用程序启动时与uiAlertView委派。一切正常。唯一的问题是,每次我引用应用程序委托时,我都会收到警告“type'id'does not conformit the'uialertviewdelegate'protocol',给出大约32条警告。

    有人能告诉我为什么会收到这个警告,以及我怎样才能满足它吗?

    事先谢谢!

    2 回复  |  直到 11 年前
        1
  •  6
  •   Firoze Lafeer    14 年前

    @interface SomeAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate> {
    
    }
    
    // ... rest of interface
    
    @end
    

    MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];
    
    // what you want is:
    
    MyAppDelegate* appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
    
        2
  •  0
  •   konop    11 年前

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"My Title"
                                                        message:@"My message"
                                                       delegate:self cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
    [alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO];