すぐにコンパイル時の可用性をテストするための素敵な@available属性があります。 など。スウィフトコンパイル時の可用性:使用できない場合
@available(iOS 9.3, *)
public static let supportedTypes = [
HKQuantityTypeIdentifierActiveEnergyBurned,
HKQuantityTypeIdentifierAppleExerciseTime
]
が、識別子が利用できないときもケースを追加することが可能です:HKQuantityTypeIdentifierAppleExerciseTime識別子が、我々はそれを使用したい場合は、私たちはこのように状況を確認するだけのiOS 9.3、 以降で使用可能ですか?あなたは変数を宣言し#available
でそれを初期化することができ
// iOS < 9.3 case:
public static let supportedTypes = [
HKQuantityTypeIdentifierActiveEnergyBurned
]
これはエラーでコンパイルされます:現在のコンテキストでクロージャの戻り値の型を推論できません – Vladimir
申し訳ありません、それは私の頭の上からのもので、明示的に 'let'型を指定するのを忘れていました(コンパイラが、文脈から推測される)。私は答えを ':[String]'で更新しました。今度はもう一度お試しください。 –