gpt4 book ai didi

objective-c - 如何避免不同的类别扩展定义相同的方法

转载 作者:行者123 更新时间:2023-12-03 17:41:15 24 4
gpt4 key购买 nike

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

@implementation someClass (category1)

- (void)foo {}

@end

@implementation someClass (category2)

- (void)foo {}

@end

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

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

最佳答案

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

- (void)nd_foo;
- (void)sp_foo;

关于objective-c - 如何避免不同的类别扩展定义相同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com