两个Category内的函数名相同
//CategoryA.h
@interface UIView (CategoryA)
+ (UIView *)createLine:(CGRect)frame;
@end
//CategoryB.h
@interface UIView (CategoryB)
+ (UIView *)createLine:(CGRect)frame;
@end
由于Category都是使用UIView调用,写在不同的Category中编译时可能不报错,甚至通过Com+点击定位也正确,但是实际执行中可能想执行B的函数,实际执行的是A的
为什么会有两个Category
不同的project都对UIView做了扩展,造成在一个WorkSpace中的时候编译结束造成调用错误,而且很难被发现