从子类到父类的自定义委托(subview-superview)

时间:2013-07-11 19:27:40

标签: ios objective-c

我正在尝试将数据从子类发送到父类。在实现我的自定义委托后,我收到了这个错误:

 Cannot find protocol declaration for 'SLBPostViewControllerDelegate'

这是我的代码:

child.h

@protocol SLBPostViewControllerDelegate <NSObject>

- (void)dataToBeUploaded:(PFFile *)data;

@end

@interface

@property (weak, nonatomic) id <SLBPostViewControllerDelegate> delegate;

@end

child.m

[self.delegate dataToBeUploaded:image];

parent.h

@interface SLBWallViewController : UIViewController <SLBPostViewControllerDelegate>

parent.m

- (void)dataToBeUploaded:(PFFile *)data{
    NSLog(@"%@", data);
}

我的错误在哪里?我该如何解决?

1 个答案:

答案 0 :(得分:1)

parent.h需要#import child.h才能了解协议声明。

如果您要导入它并仍然收到错误,则可能存在循环导入。在这种情况下,转发将parent.h上的协议声明为@interface以上

@protocol SLBPostViewControllerDelegate;

@interface SLBWallViewController : UIViewController <SLBPostViewControllerDelegate>
...
@end