[UIKit] 여러개의 세그 연결

2022. 7. 18. 15:06SWIFT/UIKit

728x90
반응형

테이블뷰 셀이 이미 세그로 연결된 상태에서 다른 버튼을 세그로 연결할 떄!!

일단 원하는 버튼을 보여질 화면과 연결을 시킨다 

그리고 연결한 선을 클릭하면 인스펙터에 identifier이름을 입력할 수 있다 

그리고 이제 클릭하면 연결할 화면을 짝지어주면 된다 

 

일단 첫번째 세그인 테이블뷰 셀을 클릭했을 때는

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
    resultSelectedTitle = orderCategoryData[indexPath.row].orderTitle

    performSegue(withIdentifier: "goViewControllerOrderCategory", sender: nil)

}

테이블뷰 셀을 클릭했을 때는 performSegue를 이용하여 이동하는 세그의 identifier이름을 작성해준다

 

다음은 이제 세그의 이름에 따라 다른 화면으로 이동할 수 있게 설정해야한다 

prepare을 사용한다!

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

    if segue.identifier == "goViewControllerOrderCategory" {
        let ViewControllerOrderCategory = segue.destination as! ViewControllerOrderCategory
        ViewControllerOrderCategory.resultTitle = resultSelectedTitle

        //네비게이션 뒤로가기 버튼
        let backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: nil)
        backBarButtonItem.tintColor = .darkGray
        self.navigationItem.backBarButtonItem = backBarButtonItem

    } else if segue.identifier == "goViewControllerCart" {
        print("카트화면으로 이동")
        //네비게이션 뒤로가기 버튼
        let backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: nil)
        backBarButtonItem.tintColor = .white
        self.navigationItem.backBarButtonItem = backBarButtonItem

    } else {
        print("세그연결해줘야함")
    }

}

if문을 사용하여 세그 identifier이름에 따라 다른 작업을 할 수 있게 한다!

 

728x90
반응형