Daeng iOS

[iOS/UIKit] xib 파일로 테이블뷰 연결 후 터치이벤트&화면전환 본문

IOS/UIKit

[iOS/UIKit] xib 파일로 테이블뷰 연결 후 터치이벤트&화면전환

U_Daeng 2022. 12. 2. 22:26

테이블뷰 셀을 xib로 연결했을 때 터치이벤트 구현하는 방법을 정리하려고 합니다~!

먼저 화면전환을 segue로 연결하고 Attributes inspector 에서 Identifier 을 지정해준다

 

[테이블뷰가 있는 컨트롤러]

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        //터치이벤트
        performSegue(withIdentifier: "detail", sender: indexPath.row)
        
    }
    
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "detail"{
        let destination = segue.destination as? detailViewController
        if let selectedIndex = sender as? Int{
            destination?.name = menu.settingList[selectedIndex].name
            destination?.sum = menu.settingList[selectedIndex].sum
            destination?.Img = menu.settingList[selectedIndex].img
        }
    }

}

performSegue 메소드

현재 뷰컨트롤러의 스토리보드 파일에서 지정한 identifier 을 이용해 segue를 시작한다.

prepare 메소드

segue가 수행될 예정임을 뷰 컨트롤러에 알린다.

 

[detailViewController]

위에 코드에서 연결했던 swift 파일이다

override func viewDidLoad() {
        super.viewDidLoad()
        updateUI()
    }
func updateUI(){

    detailName.text = name
    detailSum.text = sum
    detailImg.image = Img

}

위에서 받은 데이터를 받을 컨트롤러에서 연결한 아울렛 변수들에 넣어준다!!