Возникла ошибка при переходе с IOS13 на IOS12.1


#1

Добрый день, возникла ошибка при переходе с IOS13 на IOS12.1
а конкретно в этих функциях

@available(iOS 12.1, *)
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
ошибка - Overriding ‘prepare’ must be as available as declaration it overrides

а так же
@available(iOS 12.1, *)
override func viewWillAppear(_ animated:Bool){
super.viewWillAppear(animated)
ошибка Overriding ‘viewWillAppear’ must be as available as declaration it overrides

и тут
@available(iOS 12.1, *)
override func viewDidAppear(_ animated: Bool) {
ошибка Overriding ‘viewDidAppear’ must be as available as declaration it overrides

Помогите пожалуйста, мучаюсь уже пол дня.


#2

А зачем вы обернули эти методы для проверки версии iOS?
Они доступны на всех версиях.
Если у вас внутри какой-то кусок кода для разных версий, оборачивайте его.


#3

выходит что не нужно вообще нигде это писать и все будет работать на прежних версиях?


#4

Вопрос в другом, зачем Вы это сделали?


#5

не знаю)
но кажется это решило проблему! Спасибо


#6

Такие условия нужны, когда вам необходимо поддерживать работу старых версий ОС. В таком случае через такое условие вы можете написать рабочий код для разных версий ОС.
Xcode в случае чего вам подскажет, если он что-то такое найдет. Он вам предложит обернуть найденный участок кода и даст вам возможность написать код для другой версии.