Objective-c 类可以按类别进行扩展。
但是通过过度定义相同的方法在同一类上进行多类别扩展,结果未定义-如下情况:
@implementation someClass (category1)
- (void)foo {}
@end
@implementation someClass (category2)
- (void)foo {}
@end
在这种情况下,编译器甚至不会显示任何警告消息。在一些大项目中,有不同的人进行维护,这种情况是很难解决的。
所以我的问题是:是否有任何复杂的模式或解决方案可以避免这种情况?