Objective-C Category [duplicate]-Collection of common programming errors
I think what this shows is that you should not have methods in categories that clash.
My (semi informed) guess is that which method gets called us down to how the app was compiled, so it’s not something you can influence at runtime. And it’s not really useful in practice, it’s just… what happens.
As for why this happens, the header file doesn’t say what to do when the method is called, only that an implementation for it exists. In your case, it does exist. It just happens not to be the one you want.