Solving circular protocol declarations

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 14:27:51

问题


I am trying to solve this, there are similar questions but none are fit for my issue

I have .h file with a a @protocol. The @interface needs to have that @protocol definition. But the @protocol needs the class's definition. Circular.

How can this be solved?

@protocol myProtocol

-(void)setupMyClass:(MyClass *)class;

@end

@inteface MyClass

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

@end

If I use different files each needs to import the other, so that doesn't solve it


回答1:


Forward-declare the class:

@class MyClass;    // Forward declaration

@protocol MyProtocol
...
@end

@interface MyClass
...
@end


来源:https://stackoverflow.com/questions/33197099/solving-circular-protocol-declarations

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!