objective-c – 如何在Xcode中弃用一个方法

objective-c – 如何在Xcode中弃用一个方法,第1张

概述我们有我们的库,我们发送给我们的客户,我想标记一些方法为“deprecated”,因为我们改变它们(像苹果在iPhone SDK)。 我看到了__OSX_AVAILABLE_BUT_DEPRECATED预处理器宏,它映射到__AVAILABILITY_INTERNAL,映射到__attribute __((已弃用))… 好,我有点困惑这个东西! 任何人都知道这一点吗? __attribute __ 我们有我们的库,我们发送给我们的客户,我想标记一些方法为“deprecated”,因为我们改变它们(像苹果在iPhone SDK)。

我看到了__OSX_AVAILABLE_BUT_DEPRECATED预处理器宏,它映射到__AVAILABIliTY_INTERNAL,映射到__attribute __((已弃用))…

好,我有点困惑这个东西!

任何人都知道这一点吗?

解决方法 __attribute __((不推荐))是将函数/方法标记为已弃用的 gcc way(也是 supported in clang)。当其中一个标记为“已弃用”时,每当任何人调用它时都会产生警告。

正常功能的语法是

__attribute__((deprecated))voID f(...) {  ...}// gcc 4.5+ / clang__attribute__((deprecated("g has been deprecated please use g2 instead")))voID g(...) {  ...}

和Objective-C方法的

@interface MyClass : NSObject { ... }-(voID)f:(ID)x __attribute__((deprecated));...@end

您还可以将整个类标记为已弃用

__attribute__((deprecated))@interface DeprecatedClass : NSObject { ... }...@end

Apple还提供< AvailabilityMacros.h>头,提供扩展到上述属性的DEPRECATED_ATTRIBUTE和DEPRECATED_MSG_ATTRIBUTE(msg)宏,如果编译器不支持属性,则为空。请注意,此标题不存在于OS X / iOS之外。

旁注,如果你使用Swift,你使用@available attribute来弃用一个项目,例如。

@available(*,deprecated=2.0,message="no longer needed")func f() {    ...}
总结

以上是内存溢出为你收集整理的objective-c – 如何在Xcode中弃用一个方法全部内容,希望文章能够帮你解决objective-c – 如何在Xcode中弃用一个方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存