我正努力通过一个facade类转发一个类方法。-forward类方法的调用
要澄清,我重写所有下面的方法:
-(NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
-(void)forwardInvocation:(NSInvocation *)anInvocation
+(BOOL)instancesRespondToSelector:(SEL)aSelector
+(NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelector
+(IMP)instanceMethodForSelector:(SEL)aSelector
+(BOOL)resolveClassMethod:(SEL)sel
+(BOOL)resolveInstanceMethod:(SEL)sel
..然而,对于类方法,被称为只有一个是+resolveClassMethod
。从那里,我立即得到一个无法识别的选择器异常,无论我是否返回YES或NO。
发生了什么事?
类消息转发的工作方式与实例消息转发不同吗?
同样,为什么没有+forwardInvocation
类方法?
任何帮助将不胜感激。
我不能看到'+ forwardInvocation:'方法在NSObject的协议 – 2014-06-27 12:32:04
@JulianKról:'-forwardInvocation:'是在NSObject类。 – newacct 2014-06-27 18:17:12
好,但你在回答'+ forwardInvocation'中提到,这就是为什么我评论 – 2014-06-27 18:32:16