在Objective-C中,如何防止类别方法中的名称冲突?

时间:2012-02-27 14:32:29

标签: objective-c

有些人使用前缀来命名他们的类别方法,以防止与其他外部代码发生可能的名称冲突,但我个人发现将噪声添加到一个清晰的名称。是否有更好的方法来避免类别名称冲突而不是为它添加前缀?

e.g。

@interface UILabel (Extras)
-(void)prefix_extraMethod;
@end

2 个答案:

答案 0 :(得分:16)

在Objective-C中不存在名称空间,因此唯一的方法是为方法添加前缀。

如果不想添加前缀(我同意你......很难看),如果方法名称与其他现有方法冲突,则OBJC_PRINT_REPLACED_METHODS环境变量YES可以收到警告。

set environment variable

答案 1 :(得分:5)

不。前缀是这样做的方法。