2011-10-21 25 views
0

Xcodeを4.0から4.2(iOS 5.0 SDK)にアップグレードしたとき、コードを使用しているコードで複数の警告が表示され始めます。Xcode 4.2(iOS 5.0)の「互換性のないポインタ型」警告

self.delegate = self; 

警告:ここ

'MyClassの*' から 'NSObjectの*' に代入互換性のないポインタ型は、self.delegateは& selfMyClassオブジェクトであるMyDelegateオブジェクトに設定されています。

@protocol MyDelegate <NSObject> 
- (void)myResponse:(NSDictionary *)response; 
- (void)myError:(id)errorData; 
@end 


@interface MyClass : NSObject <MyDelegate> { 

} 

これらの警告は4.0に付属していません。

これらの警告を表示しないようにするにはどうすればよいですか?

+0

としてこの

id<MyDelegate> delegate; 

及び財産のようなあなたのデリゲートを宣言する必要がありますか?クラスは ''を実装していると宣言していますか? – Sean

+2

また、あなたのクラスの代理人がそれ自身であると宣言しているのはなぜですか?これは代表団の目的を破るものではありませんか? – Sean

+0

プロパティ@property(非アトミック、代入)を宣言しています。NSObject * delegate; MyClass.hとMyDelegateのプロトコルも同じインターフェイスクラスで定義されています。デリゲートは他のオブジェクトに設定されていますが、ビジネスロジックのために、MyClassオブジェクト自体によってデリゲートメソッドを実行する必要があります。 – Abhinav

答えて

-1

あなたの.hファイルが好きなものを見てん

@property(nonatomic,assign) id <MyDelegate> delegate; 
関連する問題