与Objective-C不同,Swift没有预处理器,那么还有办法手动弃用类的成员吗?
我正在寻找类似的东西:
-(id)method __deprecated;
Axel Guilmin.. 248
您可以使用Available标记,例如:
@available(*, deprecated) func myFunc() { // ... }
其中*是平台(iOS,iOSApplicationExtension,macOS,watchOS,tvOS,*等等).
您还可以指定的平台,它的版本introduced
,deprecated
,obsoleted
,renamed
,和message
:
@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文档中的更多细节.
启动Swift 3和Swift 4,版本号是可选的.你现在可以简单地输入:
@available(*, deprecated) func foo() { // ... }
或者如果你想要一条消息:
@available(*, deprecated, message: "no longer available ...") func foo() { // ... }
您可以使用Available标记,例如:
@available(*, deprecated) func myFunc() { // ... }
其中*是平台(iOS,iOSApplicationExtension,macOS,watchOS,tvOS,*等等).
您还可以指定的平台,它的版本introduced
,deprecated
,obsoleted
,renamed
,和message
:
@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文档中的更多细节.