Делаю страницу авторизации и нужно чтобы после того, как пользователь успешно залогинился произошел переход на следующую страницу. При этом также должен быть запрос, данных с ответа которого нужно передать на эту следующую страницу. Я пытаюсь это реализовать так.
На LoginViewController делаю запрос на регистрацию, on success вызываю
self.performSegue(withIdentifier: "sucsessLoginSegue", sender: self)
для перехода на следующую страницу и по клику на кнопку "Зарегистироваться" вызываю эту функцию.
Для задачи с передачей данных на следующую страницу использую
prepare for segue
внутри которого я и делаю запрос для получения данных, которые и нужно передать. Однако
print("1111111")
внутри этого метода срабатывает, а
print("items111:", items)
уже нет. Что я делаю не так?
func register() {
let api = JsonPlaceholder()
api.post(uri: "users/", params: ["username" : login.text!, "email" : email.text!, "password" : password.text!], callback: { (items) in
print("items login: ", items)
self.performSegue(withIdentifier: "sucsessLoginSegue", sender: self)
})
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let ParentVC = segue.destination as! ParentViewController
print("1111111")
let api = JsonPlaceholder()
api.get(uri: "tabs/", params: [:], callback: { (items) in
print("items111:", items)
var menuItems = [String]()
for menuItem in items {
menuItems.append(menuItem.1["name"].stringValue)
}
ParentVC.menuItems = menuItems
})
@IBAction func clickOnRegister(_ sender: UIButton) {
print("click!")
self.register()
}
}