代码之家  ›  专栏  ›  技术社区  ›  leogdion gbdavid

Swift属性-按操作系统版本弃用

  •  0
  • leogdion gbdavid  · 技术社区  · 7 年前

    因此,我们可以在Swift中标记操作系统版本和更新版本的可用性,但我不认为可以标记操作系统版本和更新版本的不可用性。

    例如,我可以通过以下方式将扩展标记为仅在watchOS 5.0及更新版本中可用:

    @available(watchOSApplicationExtension 5.0, *)
    extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{
    
    }
    

    但是没有办法标记一个扩展、类、函数等等。。。在特定版本和更新版本中不可用、过时或不推荐:

    @available(watchOSApplicationExtension, introduced: 4.2, deprecated: 5.0)
    extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{
    
    }
    

    @available(watchOSApplicationExtension 5.0, unavailable)
    extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{
    
    }
    

    Xcode 10没有生成警告或错误。

    1 回复  |  直到 7 年前
        1
  •  0
  •   hulkinggrunt    7 年前

    Xcode 10转基因种子建议如下:

      if #available(watchOSApplicationExtension 5.0, *) {
        update(<#T##userActivity: NSUserActivity##NSUserActivity#>)
      } else {
        ///your old action pre v5.0
      }
    

    也许吧 #可用 vs @可用 问题是。。。。。。在黑暗中拍摄。 仍在更新我的新func签名