The behavior if you override a method in a category is clearly undefined . Therefore, do not do this:
If the name of the method declared in the category is the same as the method in the source class, or the method in another category in the same class (or even in the superclass), the behavior is undefined for which the method is used at runtime.
If you override a method defined once in the superclass category, then, of course, the implementation of the subclass is called.
But here you are redefining a method defined twice in a superclass. The behavior is likely to be undefined because you are redefining the implementation of undefined. Even if this works, it will be bad code anyway.
In fact, please do not do this.
source share