我正努力通過一個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