UIStoryboardSegue 를 사용해 보자.


보통 button을 클릭하여 화면을 전환할때 버튼의 IBAction 을 사용하지만


세개의 버튼이 모두 하나의 UI로 이동하고 이동할때 특정 구분값만 넘기기 위해 IBAction 대신 segue를 사용하였다.



override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

        switch segue.identifier! {

        case "segue1":

            tempText = "그룹1"

        case "segue2":

            tempText = "그룹2"

        default:

            tempText = "그룹3"

        }

        (segue.destination as? DetailViewController)?.headerTitle = tempText

 }


위의 코드와 같이 각 segue 에 identifier를 주고 identifier 별로 그룹1, 그룹2, 그룹3 으로 나눴다.

마지막 줄의 코드는 이 구분값을 destination 컨트롤러로 전달하는  코드이다.


전환되는 화면의 컨트롤러의 타이틀 값을 곧바로 바꾸려고 시도하였으나 되지 않는다. (위의 코드처럼 변수를 만들어 놓고 전달해야한다.)

headerTitle 은 tempText 의 값을 전달하기 위해 전환되는 화면의 컨트롤러 안에 만든 변수이다.


+ Recent posts