1. ホーム
  2. ios

[解決済み] 手動でメンバーを非推奨にする方法

2022-04-21 23:42:06

質問

Objective-Cと違って、Swiftにはプリプロセッサがないので、クラスのメンバーを手動で非推奨にする方法はまだあるのでしょうか?

これに似たものを探しています。

-(id)method __deprecated;

解決方法は?

例えば、Availableタグを使うことができます。

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

ここで * はプラットフォーム(iOS、iOSApplicationExtension、macOS、watchOS、tvOS、* for all など)です。

また、元のプラットフォームのバージョンを指定することもできます。 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のドキュメント .