Ниже приведен обходной путь для «проблемы», заключающейся в том, что протоколы и их расширения в Swift не хранят свойства. Кажется, что это «работает», но мне интересно, по каким причинам люди могут избегать этого?
fileprivate var strings: [String] = []
protocol SomeProat {
func add(someString: String)
}
extension SomeProat {
func add(someString: String) {
strings.append(someString)
print(strings)
}
}
(Я понимаю, что этот вопрос можно интерпретировать как субъективный).