Я стучу головой о стену со следующим кодом в Swift. Я определил простой протокол:Невозможно назначить свойство в протоколе - ошибка компилятора Swift
protocol Nameable {
var name : String { get set }
}
и Реализована с:
class NameableImpl : Nameable {
var name : String = ""
}
, а затем я следующий метод в другом файле (не спрашивайте меня, почему):
func nameNameable(nameable: Nameable, name: String) {
nameable.name = name
}
Проблема заключается в том, что компилятор дает следующую ошибку для присвоения свойства в этом методе:
не может присвоить имя «» в «» именуема
Я не могу увидеть, что я делаю неправильно ... Следующий код компилируется нормально:
var nameable : Nameable = NameableImpl()
nameable.name = "John"
Я уверен, что это что-то простое, я забыл - что я делаю неправильно?
Т.Л., изменение др «пусть myProtocolConformingItem» в «вар myProtocolConformingItem» –
@ Matt Хотя это предложение/решение, безусловно, работает и в настоящее время даже предлагается компилятором, считаете ли вы его запахом кода? – damirstuhec
Я получаю ошибку 'использование необъявленного типа именного' – Jack