我怎样才能知道超类是否也实现了我的子类实现的相同方法?

Jam*_* Hu 5 objective-c ios

我想知道超类是否从我的子类实现方法A,它也实现了方法A,这样我就可以安全地从我的子类调用[super A]而不会出现异常.

NSObject的respondsToSelector:在这种情况下不起作用,因为它总是返回true(因为我的子类实现了有问题的方法).有任何想法吗?

mat*_*way 12

您可以使用类方法instancesRespondToSelector:执行此操作.因此,您可以从子类调用[[self superclass] instancesRespondToSelector:@selector(...)]以确定超类是否实现了您需要的方法.