알다시피, 내 오버로드 된 메서드 (카테고리)에서 [super method]
을 호출하여 원래 클래스로 전달할 수 있습니다. 내 경우 나는 클래스의 헤더 파일이없는, 그래서 쓰기 :obj-c 카테고리의 오버로드 된 메소드 : 원본 클래스로 전달하는 방법?
@interface OriginalClass : NSObject
@end
@interface OriginalClass (overloadMethod)
-(void) method;
@end
@implementation OriginalClass (overloadMethod)
-(void) method
{
// some my code
[super method]; // here is warning that "NSObject may not respond to '-method'
}
@end
그래서 헤더 파일을하지 않고 method
제대로 OriginalClass
에 통과 할 수 있을까요? 어쩌면 method_setImplementation
을 보는 것이 더 좋을까요?
이 문제에 대한 나의 무지를 실례 첫 번째 대답에서 문서에서 인용,하지만 것 없다'[자기 방법]' 동일한 메소드의 재귀 호출에 대한 양? – Monolo
Apple docs에 따르면'super '는 원래 클래스를 의미합니다. 같은 질문이 논의되었지만 여기서 해결되지 않았습니다 : http://stackoverflow.com/questions/1405060/using-super-in-an-objective-c-category – brigadir
@Monolo 예, 그렇습니다. 이것이 내가 왜 카테고리에서 메소드를 오버라이드하는지 파악하려고하는 이유입니다. –