iOS/Swift 문법

[Swift] Segueway 정리

Chafle 2022. 8. 11. 10:57
반응형

Segueway(세그웨이)

 

segueway는 indentifier로 통신

 

  1. 스토리보드에서 스그웨이를 만들고 수퍼클래스에서 오는 performsegue를 호출하여 트리거

@IBAction func 에서 버튼을 눌렀을 때
indentifier를 준비해야하니깐.첫화면->다음화면:  self.performSegue(withIdentifier, sender(=창시자인 자기자신)

 

 

  1. 세그웨이 준비

 

 

-sender.destination: segue가 트리거 될 때 초기화 될 뷰 컨트롤러

 

 

-override func prepare(for segue: UIStoryboardSegue, sender: Any?) {//UIViewController에서 상속받은 그것)

        if segue.identifier == "goToResult" {

            let destinationVC = segue.destination as! ResultsViewController // 세그웨이의 목적지를 도착하는 뷰컨으로 설정(다운캐스팅)하면

            destinationVC.bmiValue = “0.0”//도착 뷰컨의 프로퍼티에 접근 가능하다

 

  1. 세그웨이로 다음창 띄우고 버튼을 눌러서 뒤로 돌아가고 싶을 때
    @IBAction func recalculatePressed(_ sender: UIButton) {

        self.dismiss(animated: true, completion: nil)

    }

 

 

  • destinationVC에서 넘길 값 처리하고 
  • 표시 할 VC에서 프로퍼티만 설정
  • 세그웨이 통신 성공하고 프로퍼티 갖다가 쓸 때
    최상위에 갖다 쓸 프로퍼티 저장다시 해줘야 세그웨이에서 갖다 쓸 수 있다
  • [destinationVC.프로퍼티 = 보낼 ] 결과를 받을 VC에도 프로퍼티를 가지고 있어야 하고, 받을 프로퍼티로 설정해줘야한다.
반응형