diff --git a/WireGuard/WireGuard/UI/iOS/View/KeyValueCell.swift b/WireGuard/WireGuard/UI/iOS/View/KeyValueCell.swift index c77cab9..61b2f2d 100644 --- a/WireGuard/WireGuard/UI/iOS/View/KeyValueCell.swift +++ b/WireGuard/WireGuard/UI/iOS/View/KeyValueCell.swift @@ -71,6 +71,8 @@ class KeyValueCell: UITableViewCell { var onValueChanged: ((String) -> Void)? var onValueBeingEdited: ((String) -> Void)? + var observationToken: AnyObject? + private var textFieldValueOnBeginEditing: String = "" override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { @@ -187,6 +189,7 @@ class KeyValueCell: UITableViewCell { keyboardType = .default onValueChanged = nil onValueBeingEdited = nil + observationToken = nil key = "" value = "" configureForContentSize() diff --git a/WireGuard/WireGuard/UI/iOS/ViewController/TunnelDetailTableViewController.swift b/WireGuard/WireGuard/UI/iOS/ViewController/TunnelDetailTableViewController.swift index beb5d24..3e80d94 100644 --- a/WireGuard/WireGuard/UI/iOS/ViewController/TunnelDetailTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/ViewController/TunnelDetailTableViewController.swift @@ -33,7 +33,6 @@ class TunnelDetailTableViewController: UITableViewController { private var peerFieldIsVisible = [[Bool]]() private weak var statusCell: SwitchCell? - private var onDemandStatusObservationToken: AnyObject? private var statusObservationToken: AnyObject? private var reloadRuntimeConfigurationTimer: Timer? @@ -352,7 +351,7 @@ extension TunnelDetailTableViewController { let cell: KeyValueCell = tableView.dequeueReusableCell(for: indexPath) cell.key = tr("tunnelOnDemandKey") cell.value = TunnelViewModel.activateOnDemandDetailText(for: tunnel.activateOnDemandSetting) - onDemandStatusObservationToken = tunnel.observe(\.isActivateOnDemandEnabled) { [weak cell] tunnel, _ in + cell.observationToken = tunnel.observe(\.isActivateOnDemandEnabled) { [weak cell] tunnel, _ in cell?.value = TunnelViewModel.activateOnDemandDetailText(for: tunnel.activateOnDemandSetting) } return cell