0

現在、アプリの起動時に UIAlertViewDelegate を使用して UIAlertView を使用しています。それはすべて正常に動作します。唯一の問題は、App Delegate を参照するたびに「type 'id' は 'UIAlertViewDelegate' プロトコルに準拠していません」という警告が表示され、約 32 個の警告が表示されることです。

なぜこの警告が表示されるのか、どうすればそれを満たすことができるのか、誰かが光を当てることができますか?

前もって感謝します!

4

2 に答える 2

6

あなたのアプリデリゲートがアラートビューデリゲートだと思いますか?

その場合は、アプリ デリゲートの宣言でコンパイラにそのことを伝える必要があります。そのようです:

@interface SomeAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate> {

}

// ... rest of interface

@end

そして、必要なメソッドも実装する必要があります。

編集:さらに考えてみると、おそらくアプリのデリゲートを参照するときにキャストが欠落していると思います。したがって、次のようなものがあります。

MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];

// what you want is:

MyAppDelegate* appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
于 2010-10-24T02:27:04.503 に答える
0

メインスレッドに存在しない可能性があります。試してください

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"My Title"
                                                    message:@"My message"
                                                   delegate:self cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
[alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO];
于 2013-03-21T23:31:18.987 に答える