gpt4 book ai didi

objective-c - 当有人在 Objective-C 类/对象中使用特定方法时限制使用/生成编译错误

转载 作者:行者123 更新时间:2023-12-04 05:46:56 25 4
gpt4 key购买 nike

假设我有一个 AwesomeClass但我不能改变它的实现(即它来自静态库或框架)。我喜欢关于 AwesomeClass 的一切除了 - (void)thatOneBadMethod .我可以创建子类 AwesomeClass成为 MyAwesomeClass并使用空实现覆盖该方法(不调用 super ),但问题是,如果我的开发伙伴正在使用 MyAwesomeClass并且不知道他可能会尝试使用我的行为 thatOneBadMethod认为它正在做一些它不是的事情。

是否有一些预处理器指令可以覆盖 thatOneBadMethod以便他在尝试使用它时收到编译器错误或警告?

最佳答案

您可以 deprecate头文件中的方法:

-(void)thatOneBadMethod __attribute__ ((deprecated("Unsupported, please call 'thatOneGoodMethod' instead!")));

但我也建议当人们尝试调用它时产生一个错误:
-(void)thatOneBadMethod {
NSAssert(NO, @"Unsupported, please call 'thatOneGoodMethod' instead!");
}

关于objective-c - 当有人在 Objective-C 类/对象中使用特定方法时限制使用/生成编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10559132/

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