2016-03-18 6 views
0

Я использую SFSafariViewController и SFSafariViewControllerDelegate. Приложение поддерживает также iOS8, но этот класс и делегат доступны только для iOS9.Реализация протокола iOS9 + на iOS8

В iOS8 этот класс и делегат не используются (доступность SFSafariViewController проверяется во время выполнения, а вместо этого используется класс, совместимый с iOS8), но нормально ли, если мои классы все еще реализуют SFSafariViewControllerDelegate? Это вызовет проблемы на iOS8? Какая здесь стандартная процедура?

ответ

1

Это не вызовет проблемы. Реализация протокола - это то, что имеет значение только для компилятора. Во время выполнения это имеет значение только при использовании методов протокола или нет. Внедрение методов, которые не будут вызываться при работе под iOS 8, ничем не отличается от любого другого метода, который не вызывается, потому что он не нужен.