0

Objective-c 类可以按类别进行扩展。
但是通过过度定义相同的方法在同一类上进行多类别扩展,结果未定义-如下​​情况:

@implementation someClass (category1)

- (void)foo {}

@end

@implementation someClass (category2)

- (void)foo {}

@end

在这种情况下,编译器甚至不会显示任何警告消息。在一些大项目中,有不同的人进行维护,这种情况是很难解决的。

所以我的问题是:是否有任何复杂的模式或解决方案可以避免这种情况?

4

1 回答 1

2

对于大型项目,一个好的做法是在您的方法名称中添加一个前缀,例如:

- (void)nd_foo;
- (void)sp_foo;
于 2012-11-21T09:00:16.517 回答