Swift - использование #available внутри Struct для инициализации переменной
Мне нужно инициализировать переменную в зависимости от версии ОС. Я пытаюсь использовать #available внутри структуры. Мне нужно инициализировать переменную во время объявления.
Вот мой код, который я пробовал,
struct ColorConstants {
static var os = 0
#available(iOS 9, *)
os = 9
#available(iOS 10, *)
os = 10
}
Это дает мне ошибку сборки:
Ожидаемая декларация
1 ответ
Решение
Не уверен, что вы на самом деле пытаетесь сделать, так что, возможно, есть более подходящие подходы, но, основываясь буквально на том, что вы показываете в своем вопросе, вы можете попробовать что-то вроде этого:
static var os: Int {
if #available(iOS 9, *) {
return 9
}
if #available(iOS 10, *) {
return 10
}
return 0
}