Вы можете достичь того, что ищете, используя protocol
и protocol extension
.
1. Создатьprotocol
имя FreeManager
с двумя методами,
protocol FreeManager {
func method1()
func method2()
}
На данный момент, method1()
и method2()
являются обязательными для реализации conforming type
.
2.
Создайте protocol extension
и реализуйте метод protocol
, который вы хотите сделать optional
, то есть
extension FreeManager {
func method2() {
print("This is method2()")
}
}
В приведенном выше коде я реализовал method2()
в protocol extension
.Итак, теперь реализация этого метода составляет optional
для conforming type
.method1()
все еще является обязательным для реализации.
3. Соответствует классу SessionManager
FreeManager
class SessionManager: FreeManager {
func method1() {
print("This is method1()")
}
}
В приведенном выше коде я реализовалтолько method1()
.