- (void)viewDidLoad {
[super viewDidLoad];
[self performSelector:@selector(test) withObject:nil];
}
- (void)forwardInvocation:(NSInvocation *)anInvocation {
NSLog(@"%@", anInvocation);
}
view载入方法中让viewcnotroller执行 test 方法
但是vc是没有test方法的
所以重载了 forwardInvocation: 方法。理论上这个方法应该被执行到,可是console没有打印任何东西就挂了。加断点也一样。
请问是怎么回事?
你需求重载方法
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
这个方法返回了对应的对象才会进- (void)forwardInvocation:(NSInvocation *)anInvocation
否则不会进你重载的这个方法