Всем привет! Помогите, уже третий день в активном поиске решении своей проблемы
Задача состоит в следующем:
- из одного VC нужно передать данные в другой VC но при этом переход не производить.
Экшена кнопка с FirstVC
@IBAction func MDbasket(_ sender: UIButton) {
print(“Отправили в корзину”)
let storyboard = UIStoryboard(name: “Main”, bundle: nil)
guard let basketVC = storyboard.instantiateViewController(identifier: “BasketController”) as? BasketController else { return }
let item = Product(image: MDimage.image!, name: MDname.text!, discription: “nil”, price: total)
basket.append(item)
basketVC.basketTotal = self.basket
navigationController?.pushViewController(basketVC, animated: true)
dismiss(animated: true, completion: nil)
}
- Данные второгоVC BasketController
class BasketController: UITableViewController {
var name = String()
var basketTotal = Product
override func viewDidLoad() {
super.viewDidLoad()
print(“viewDidLoad Данные (basketTotal)”)
addImageToNavBar()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
print(“viewDidAppear Дssанные (basketTotal)”)
}
Когда я запускаю приложение и нажимаю на кнопку Экшен данные не переходят на BasketController массив пустой.
Но если я в первомVC пишу вместо navigationController?.pushViewController(basketVC, animated: true)
прописываю present(basketVC, animated: true , completion: nil )
либо show(basketVC, sender: nil )
То происходит переход и данные отображаются.
А мне нужно чтобы данные перенеслись в BasketController без перехода и там сохранились.
P.S. Это будет корзина куда пользователь закидывает своими выбранными товарами на протяжении пользования приложения.
Подскажите как реализовать данный способ передачи данных без использования перехода. Безумно жду ответа так как в просторах интернета никак не могу найти ответа. Везде все примеры работают именно переходом на другой контроллер.