現在、アプリの起動時に UIAlertViewDelegate を使用して UIAlertView を使用しています。それはすべて正常に動作します。唯一の問題は、App Delegate を参照するたびに「type 'id' は 'UIAlertViewDelegate' プロトコルに準拠していません」という警告が表示され、約 32 個の警告が表示されることです。
なぜこの警告が表示されるのか、どうすればそれを満たすことができるのか、誰かが光を当てることができますか?
前もって感謝します!
現在、アプリの起動時に UIAlertViewDelegate を使用して UIAlertView を使用しています。それはすべて正常に動作します。唯一の問題は、App Delegate を参照するたびに「type 'id' は 'UIAlertViewDelegate' プロトコルに準拠していません」という警告が表示され、約 32 個の警告が表示されることです。
なぜこの警告が表示されるのか、どうすればそれを満たすことができるのか、誰かが光を当てることができますか?
前もって感謝します!
あなたのアプリデリゲートがアラートビューデリゲートだと思いますか?
その場合は、アプリ デリゲートの宣言でコンパイラにそのことを伝える必要があります。そのようです:
@interface SomeAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate> {
}
// ... rest of interface
@end
そして、必要なメソッドも実装する必要があります。
編集:さらに考えてみると、おそらくアプリのデリゲートを参照するときにキャストが欠落していると思います。したがって、次のようなものがあります。
MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];
// what you want is:
MyAppDelegate* appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
メインスレッドに存在しない可能性があります。試してください
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"My Title"
message:@"My message"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO];