【问题标题】:Check if method is deprecated检查方法是否已弃用
【发布时间】:2014-08-29 12:04:02
【问题描述】:

是否有可能以编程方式检测当前版本的系统中是否不推荐使用特定方法?谢谢

【问题讨论】:

  • 在编译时检查弃用,而不是运行时。您可能应该为您的问题提供更多背景信息。
  • @rmaddy 你的意思是我可以使用条件编译来避免调用已弃用的方法吗?
  • 我的意思是你需要提供一些细节。你在说什么类/方法?您的基础 SDK 和部署目标是什么?
  • 顺便说一句-阅读SDK Compatibility Guide
  • @rmaddy 我只是在问一般情况。我一直想知道这是否可能

标签: objective-c


【解决方案1】:

不,没有任何方法可以以编程方式检测当前版本的系统中是否不推荐使用特定方法。您可以通过警告消息了解您的方法已被弃用的唯一信息。

【讨论】:

    【解决方案2】:

    警告基于您的部署目标。 将部署目标设置为最新版本。 从产品菜单构建,查看所有警告。

    【讨论】:

    • 为什么要这样做?如果 Deployment 目标支持某个方法,即使在 Base SDK 中已弃用,也无需执行任何操作。
    • 我不想看到警告。我希望我的应用了解他们
    【解决方案3】:

    您(和其他来到这里的人)可能试图提出一个稍微不同的问题 - 您如何检查非弃用类 (aClass) 的弃用方法 (aMethod:) 在运行时是否仍然可用?你可以这样做:

    if([aClass instancesRespondToSelector:@selector(aMethod:)]){
       //   it's still available for use  
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      相关资源
      最近更新 更多