struct
s являются типами значений, , поэтому в
if var accVM = accountVM {
accVM.updateAccountName(name: "Update Name")
}
accVm
есть (изменяемая) копия из accountVM!
.Поэтому вы можете изменить accVM
, но это не изменит accountVM
.Если вы собираетесь обновить accountVM
, вы можете назначить его из мутировавшего accVM
:
if var accVM = accountVM {
accVM.updateAccountName(name: "Update Name")
accountVM = accVM
}
В качестве альтернативы используйте необязательное связывание вместо необязательного связывания:
accountVM?.updateAccountName(name: "Update Name")