ios - 如何手动弃用成员

与 Objective-C 不同,Swift 没有预处理器,所以还有办法手动弃用类的成员吗?

我正在寻找类似的东西:

-(id)method __deprecated;

最佳答案

您可以使用可用标签,例如:

@available(*, deprecated)
func myFunc() { 
    // ...
}

其中 * 是平台(iOS、iOSApplicationExtension、macOS、watchOS、tvOS、* for all 等)。

您还可以指定平台的版本引入deprecatedobsoletedrenamed,以及一个消息:

@available(iOS, deprecated:6.0)
func myFunc() { 
    // calling this function is deprecated on iOS6+
}

Or

@available(iOS, deprecated: 6.0, obsoleted: 7.0, message: "Because !")
func myFunc() {
    // deprecated from iOS6, and obsoleted after iOS7, the message "Because !" is displayed in XCode warnings
}

如果您的项目针对多个平台,您可以使用多个标签,如下所示:

@available(tvOS, deprecated:9.0.1)
@available(iOS, deprecated:9.1)
@available(macOS, unavailable, message: "Unavailable on macOS")
func myFunc() {
    // ...
}

更多详情见 Swift documentation .

https://stackoverflow.com/questions/25405133/

相关文章:

objective-c - 在objective-c中YES/NO,TRUE/FALSE和true/

objective-c - 为什么要使用 ivar?

objective-c - Objective-C 中的 "unrecognized selecto

objective-c - NSLog iPhone中Objective-C的方法名

objective-c - 每个核心数据关系都必须有一个逆关系吗?

objective-c - Xcode 5 : Code signing entitlement e

objective-c - NSAttributedString 的 boundingRectWit

iphone - 静态库中的 Objective-C 类别

ios - 从 UITableView 单元格内的 url 异步加载图像 - 滚动时图像更改为错误图

objective-c - 使用 Objective-C 在 iOS 9 中将状态栏文本颜色更改为浅