0
Xcodeを4.0から4.2(iOS 5.0 SDK)にアップグレードしたとき、コードを使用しているコードで複数の警告が表示され始めます。Xcode 4.2(iOS 5.0)の「互換性のないポインタ型」警告
self.delegate = self;
警告:ここ
'MyClassの*' から 'NSObjectの*' に代入互換性のないポインタ型は、self.delegate
は& self
はMyClass
オブジェクトであるMyDelegate
オブジェクトに設定されています。
@protocol MyDelegate <NSObject>
- (void)myResponse:(NSDictionary *)response;
- (void)myError:(id)errorData;
@end
@interface MyClass : NSObject <MyDelegate> {
}
これらの警告は4.0に付属していません。
これらの警告を表示しないようにするにはどうすればよいですか?
としてこの
及び財産のようなあなたのデリゲートを宣言する必要がありますか?クラスは ''を実装していると宣言していますか? –
Sean
また、あなたのクラスの代理人がそれ自身であると宣言しているのはなぜですか?これは代表団の目的を破るものではありませんか? – Sean
プロパティ@property(非アトミック、代入)を宣言しています。NSObject * delegate; MyClass.hとMyDelegateのプロトコルも同じインターフェイスクラスで定義されています。デリゲートは他のオブジェクトに設定されていますが、ビジネスロジックのために、MyClassオブジェクト自体によってデリゲートメソッドを実行する必要があります。 –
Abhinav