Ios 如何在目标c中从类方法调用委托方法?
我想从类方法调用委托方法 我的演示代码 ClassA.hIos 如何在目标c中从类方法调用委托方法?,ios,objective-c,delegates,Ios,Objective C,Delegates,我想从类方法调用委托方法 我的演示代码 ClassA.h @interface ClassA: NSObject<MyProtocol> + (void)demoMethod; @property (nonatomic, weak) id<MyProtocol> delegate; 上述代码中的错误为: “struct objc_class”中没有名为“delegate”的成员 成员引用类型“struct objc_class*”是指针;是吗 是否要使用“->”
@interface ClassA: NSObject<MyProtocol>
+ (void)demoMethod;
@property (nonatomic, weak) id<MyProtocol> delegate;
上述代码中的错误为:
- “struct objc_class”中没有名为“delegate”的成员
- 成员引用类型“struct objc_class*”是指针;是吗 是否要使用“->”
谢谢 无法从静态(类)函数访问实例属性 在您的示例方法中,
self
不是指ClassA
的实例,而是指ClassA
本身
这种行为没有普遍的解决办法;根据您的需要,它们都是一种变通方法:
- 保持对实例的静态引用(某种程度上是单例方法)
- 不要使
成为静态函数demoMethod
- 将当前/最新委托保留在静态属性中并使用
委托
应该是类变量:
@interface ClassA: NSObject<MyProtocol>
+ (void)demoMethod;
@property (nonatomic, weak, class) id<MyProtocol> delegate;
@接口类A:NSObject
+(无效)方法;
@属性(非原子、弱、类)id委托;
@interface ClassA: NSObject<MyProtocol>
+ (void)demoMethod;
@property (nonatomic, weak, class) id<MyProtocol> delegate;