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

标签 ios objective-c

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

 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);
}

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

最佳答案

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

如果您正在导入它但仍然出现错误,则可能存在循环导入。在这种情况下,在 @interface 之上的 parent.h 中转发声明协议(protocol),例如

@protocol SLBPostViewControllerDelegate;

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

关于ios - 从子类到父类的自定义委托(delegate)(subview-superview),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17601761/

相关文章:

iphone - 向 UITableViewCell 添加动态图像

objective-c - Xcode OSX,将 NSString 绑定(bind)到 UILabel

ios - 如何在 API .js 上连接我的 iOS 应用程序

ios - React Native ListView 具有可更新的固定部分标题

ios - 在 iPhone 上运行分割 View 应用程序时 Xcode 9 崩溃

iphone - 如何解决iPhone应用程序hpple HTML解析 'libxml/tree.h'文件未找到的问题?

ios - Swift - 方法调配

ios - SWRevealViewController 从 subview 推送

objective-c - 像从 cmd+tab 一样获取 ProcessList

iOS - 使用两个不同的 UIButton 左右旋转图层