Objective-c类可以按类别扩展。
但是,在同一个类上通过过度定义相同的方法进行多类别扩展时,结果并未定义--如下所示:
@implementation someClass (category1)
- (void)foo {}
@end
@implementation someClass (category2)
- (void)foo {}
@end在这种情况下,编译器甚至不会显示任何警告消息。在一些大型项目中,维护人员不同,这种情况很难处理。
所以我的问题是:有没有什么复杂的模式或解决方案来避免这种情况?
发布于 2012-11-21 17:00:17
对于大型项目,一个好的做法是在方法名前添加一个前缀,如下所示:
- (void)nd_foo;
- (void)sp_foo;https://stackoverflow.com/questions/13488672
复制相似问题