SignupService.shared.signup(id: joinInputID, pwd: joinInputPWD, name: joinInputName, email: joinInputEmail, phone: joinInputPhone) {
networkResult in
switch networkResult{
case .success:
//회원가입 절차가 성공했을 때 로그인 서비스를 불러옴 -> 불러올 때 id는 회원가입 시 사용했던 id, password도 회원가입 시 사용했던 password!
LoginService.shared.login(id: joinInputID, pwd: joinInputPWD) {
networkResults in
switch networkResults{
//토큰을 받아옴
case .success(let token):
guard let token = token as? String else {return}
UserDefaults.standard.set(token, forKey: "token")
//회원가입뷰와 로그인뷰간의 데이터 전달과정
guard let receiveViewController = self.storyboard?.instantiateViewController(identifier: "LoginViewController") as? ViewController else {return}
//로그인뷰의 아이디필드를 회원가입 아이디로
receiveViewController.id = joinInputID
//로그인뷰의 패스워드필드를 회원가입 패스워드로
receiveViewController.password = joinInputPWD
//로그인뷰로 가는과정
self.navigationController?.show(receiveViewController, sender: self)
//로그인이 성공했으니 탭바로 이동!
guard let tabbarController = self.storyboard?.instantiateViewController(identifier: "customTabbarController") as? UITabBarController else {return}
tabbarController.modalPresentationStyle = .fullScreen
self.present(tabbarController, animated: true, completion: nil)
- 회원가입 절차가 성공했을 때 로그인 서비스를 불러온다
- 로그인 서비스를 불러올 때 id는 회원가입 시 사용했던 id, password도 회원가입 시 사용했던 password!
- 이렇게 함으로써 회원가입 시 사용했던 id와 pw를 이용하여 로그인을 할 수 있다.
- 그 다음 토큰을 받아온다!
- 그 후 회원가입 뷰에서 로그인 뷰로 데이터를 전달한다. (로그인뷰의 아이디필드를 회원가입뷰의 아이디로, 로그인뷰의 패스워드필드를 회원가입뷰의 패스워드로)
- 로그인뷰로 이동
- 탭바로 이동!
override func viewWillAppear(_ animated: Bool) {
setData()
}
setData()함수를 만들어서 JoinViewController(회원가입 뷰컨)으로부터 전달받은 데이터를 셋팅해주었다.
viewWillApper는 뷰가 나타날 때마다 처리되는 함수이므로 이후 viewWillAppear함수에서 setData를 호출해주었다.