Iphone 对象的委托将自身传递给委托

Iphone 对象的委托将自身传递给委托,iphone,objective-c,Iphone,Objective C,我有一个子类UIImageView,希望将self作为参数传递给委托。我在MyImageView之前得到一个错误“Expected”)。我需要将对象传递给委托,以便委托可以从对象中读取某些属性 #import <UIKit/UIKit.h> @protocol MyImageViewDelegate <NSObject> -(void) buttonPressedForView:(MyImageView *) imageView; //line with ERROR..

我有一个子类UIImageView,希望将self作为参数传递给委托。我在MyImageView之前得到一个错误“Expected”)。我需要将对象传递给委托,以便委托可以从对象中读取某些属性

#import <UIKit/UIKit.h>
@protocol MyImageViewDelegate <NSObject>
-(void) buttonPressedForView:(MyImageView *) imageView;  //line with ERROR...
@end

@interface MyImageView : UIImageView {
    id <MyImageViewDelegate> delegate;
    BOOL _imageMode;
}

@property (nonatomic,assign) id <MyImageViewDelegate> delegate;
@property (nonatomic,readonly) BOOL imageMode;
#导入
@协议MyImageViewDelegate
-(void)为视图按下按钮:(MyImageView*)图像视图//错误行。。。
@结束
@接口MyImageView:UIImageView{
id代表;
BOOL_图像模式;
}
@属性(非原子,赋值)id委托;
@属性(非原子,只读)BOOL-imageMode;

我认为在声明协议之前,您需要MyImageView的转发声明

@class MyImageView;

@protocol MyImageViewDelegate <NSObject>
    -(void) buttonPressedForView:(MyImageView *) imageView;
@end
@class MyImageView;
@协议MyImageViewDelegate
-(void)为视图按下按钮:(MyImageView*)图像视图;
@结束

也许您应该在定义MyImageView接口之后定义协议??该方法似乎无法识别MyImageView类类型,或者只是在新的.h中定义协议并导入当前的.h.

尝试添加以下内容:

#import <UIKit/UIKit.h>
@class MyImageView; <<ADD THIS LINE
@protocol MyImageViewDelegate <NSObject>
-(void) buttonPressedForView:(MyImageView *) imageView;  //line with ERROR...
@end

@interface MyImageView : UIImageView {
    id <MyImageViewDelegate> delegate;
    BOOL _imageMode;
}

@property (nonatomic,assign) id <MyImageViewDelegate> delegate;
@property (nonatomic,readonly) BOOL imageMode;
#导入
@类MyImageView;