与 Objective-C 不同,Swift 没有预处理器,所以还有办法手动弃用类的成员吗?
我正在寻找类似的东西:
-(id)method __deprecated;
最佳答案
您可以使用可用标签,例如:
@available(*, deprecated)
func myFunc() {
// ...
}
其中 * 是平台(iOS、iOSApplicationExtension、macOS、watchOS、tvOS、* for all 等)。
您还可以指定平台的版本引入
、deprecated
、obsoleted
、renamed
,以及一个消息
:
@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 - Objective-C 中的 "unrecognized selecto
objective-c - NSLog iPhone中Objective-C的方法名
objective-c - 每个核心数据关系都必须有一个逆关系吗?
objective-c - Xcode 5 : Code signing entitlement e
objective-c - NSAttributedString 的 boundingRectWit