Можно ли создать переменную в протоколе (реализация по умолчанию)? В частности, у меня есть переменная, требуемая протоколом, как:
protocol SearchHandlingDelegate: class {
...
var lastSearchTerm: String { get set }
...
}
и надеялся иметь реализацию по умолчанию в расширении протокола как:
extension SearchHandlingDelegate {
...
var lastSearchTerm: String {
set { lastSearchTerm = newValue }
get { return lastSearchTerm }
}
...
}
Но это бездонный рекурсивный цикл самовызова… Я мог бы заставить его возвращать значение другой переменной, но тогда это невозможно будет сделать через реализацию протокола по умолчанию…