오늘은 swift 에서 화면 이동 간에 데이터를 전송하는 법에 대해 알아보았다. 우선 화면 전환은 Segue로 전환을 진행하였고 데이터는 간단하게 String 을 옮겨 화면에 띄워보았다.
1. 화면 이동을 위한 세그 설정하기
우선 화면을 이동하기 위해서는 세그를 만들어 주어야 한다. StoryBoard 에서 메인 화면을 클릭한 후 아래 사진처럼 버튼을 누른 후 Navigation Controller 를 선택해준다.

그러면 Navigation Controller 가 생성되면서 메인 화면과 이어진 모습을 확인할 수 있다.
그런 다음 이동할 화면과 메인 화면에서 세그를 연결해준다. 간단하게 이동할 버튼 혹은 화면에서 control 을 누른채로 클릭하고 이동을 할 페이지에 드래그를 하면 설정이 된다.

이후 옆의 사진 처럼 segue 에 Identifier 를 지정해주어야 한다.
사진처럼 설정했다면 데이터를 전송받을 뷰 컨트롤러에 데이터를 저장할 변수를 생성해야 한다.
class SecondViewController: UIViewController {
var receivedData: String? // 데이터를 저장할 변수
}
위 코드처럼 준비를 해놨다면 그 다음으로 첫 번째 뷰 컨트롤러에 코드를 추가해야 한다.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "<세그웨이 식별자 이름>" {
if let destinationVC = segue.destination as? SecondViewController {
destinationVC.receivedData = "전송할 데이터"
}
}
}
그런 다음 세그웨이를 실행할 메서드를 생성하면 된다.
func someEventTriggered() {
performSegue(withIdentifier: "<위에서 지정한 세그 식별자>", sender: self)
}
위 처럼 모두 작성을 완료했다면 실제로 코드를 실행시킨 후 화면에 넘어온 데이터를 보여주면 된다!
'TIL(Today I Learned)' 카테고리의 다른 글
| 2024.05.31 Today I Learned (0) | 2024.05.31 |
|---|---|
| 2024.05.29 Today I Learned (0) | 2024.05.28 |
| 2024.05.24 Today I Learned (0) | 2024.05.24 |
| 2024.05.23 Today I Learned (0) | 2024.05.23 |
| 2024.05.17 Today I Learned (0) | 2024.05.17 |