-
[ios/Swift] 데이터 받아오기 - 동기식(Segue Action)Study/ios 2023. 3. 7. 21:36
@ 새로 전환한 화면에서 동기식으로 데이터 가져오기
1. 두 개의 화면 구성해주고 세그웨이 액션을 통해 간단하게 화면 전환
2. VC1에서 띄운 VC2에서 데이터 입력하고 버튼 클릭시 VC1에 데이터 전달하고 화면 종료
// VC2에서 데이터 입력하고 Submit버튼 클릭 @IBAction func onSubmit(_ sender: Any) { // presentingViewController 속성을 통해 이전 화면 객체를 읽어온 다음, ViewController 타입으로 캐스팅한다. let preVC = self.presentingViewController guard let vc = preVC as? ViewController else { return } // 값을 전달한다. vc.paramEmail = self.email.text vc.paramUpdate = self.isUpdate.isOn vc.paramInterval = self.interval.value // 이전 화면으로 복귀한다 self.presentingViewController?.dismiss(animated: true) }
3. VC1으로 돌아와 viewWillAppear함수를 통해 레이블에 업데이트 한다.
// 본 화면으로 복귀하면 함수 발동 override func viewWillAppear(_ animated: Bool) { if let email = paramEmail { lblEmail.text = email } if let update = paramUpdate { lblIsOn.text = update == true ? "자동갱신" : "자동갱신안함" } if let interval = paramInterval { lblInterval.text = "\(Int(interval)) 분 마다" } }
-> 세그웨이 속성에서 Presentation을 Full Screen으로 설정해줘야 발동한다.
깃허브
https://github.com/EunDuk2/Swift_Blog/tree/master/SubmitValue-Back
'Study > ios' 카테고리의 다른 글
[ios/Swift] TableView 사용법 - 기본 (0) 2023.03.19 [ios/Swift] 객체의 속성으로 객체배열 정렬하기 (0) 2023.03.12 [ios/Swift] UserDefaults객체에 객체배열 저장하고 가져오기 (0) 2023.03.12 [ios/Swift] UserDefaults를 통한 비동기식 데이터 전달 (0) 2023.03.08 [ios/Swift] 화면 전환간 데이터 전달 - 동기식(present 화면전환) (0) 2023.02.20