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

标签 swift xcode deprecated

因此,我们能够在 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 没有生成警告或错误。 我错过了什么吗?

最佳答案

Xcode 10 GM 种子建议是:

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

也许 #available@available 是问题所在......在黑暗中拍摄。 仍在更新我的新函数签名

关于Swift 属性 - 按操作系统版本弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50863565/

相关文章:

ios - 有什么方法可以阻止 SwiftUI Text 显示椭圆?

iOS - 逐一加载单元

swift - 如何使用 updateAtTime 在 SceneKit 中使角色跳跃准确

delphi - EStackOverflow 被弃用多久了?用什么来取代它?

scala - 如何在scala中清除终端/屏幕

ios - 在 firebase 问题中手动输入数据

ios - 从异步调用返回图像

iphone - NSDocumentDirectory 加载图像

objective-c - presentViewController - 查看纯黑色,未调用 viewDid___ 方法

java - 已弃用的 Java JList 功能