새로운 화면으로 값을 전달하는 방법
1) 값을 받을 새로운 화면을 스토리보드에 추가하고, 여기에 맞는 클래스 파일을 작성하여 둘 사이를 연결. (이를 편의상 VC2라고 부른다)
2) 스위프트 코드를 사용하여 VC2에 대한 인스턴스 참조를 얻어오거나, 인스턴스 참조가 없는 경우 인스턴스를 생성.
3) 전달하고자 하는 값을 인스턴스의 적절한 프로퍼티에 대입. 이 때 프로퍼티는 미리 정의 되어 있어야.
4) 화면 전환
VC1 -> VC2
VC2 -> VC1
반대방향으로 값을 전달하고자 할 때에는 값의 성격을 고려해서 처리해야 함.
소실되어도 상관 없는 값이라면, 단순히 값을 직접 주고받는 동기방식을 사용.
하지만, 만약 소실되어서는 안되는 값이라면, 값을 직접 주고 받는 대신 값을 보관해둘 수 있는 곳을 찾아 여기에 값을 저장하고, 이전화면으로 돌아온 후에 값을 꺼내는 식으로 처리할 필요가 있다.
p331
VC1->VC2
viewDidLoad()
VC2->VC1
viewWillApppear(_:) 메소드 : 뷰 컨트롤러의 뷰가 화면에 표시될 때마다 실행되는 메소드.
즉, 다른 화면으로 기존 화면을 가렸다가 다시 표시하면 이 메소드가 호출된다.
뷰가 스크린에 나타날때마다 호출되는 메소드.
화면을 갱신할 때마다 실행해야하는 코드가 있다면 viewWillAppeared(_:)메소드 내에 작성하면 된다.
출처: 꼼꼼한 재은씨 swift 기본편 p327~
'iOS > iOS Swift 개발 일기' 카테고리의 다른 글
ios swift 사용자에게 메시지를 전달하는 방법 (0) | 2022.05.24 |
---|---|
ios swift 객체를 사용하여 값을 주고 받기 (0) | 2022.05.24 |
Xcode, 스토리보드 View as, Preview에서 기기가 한정적일때 (0) | 2022.05.23 |
ios swift 화면 전환 과정에서의 값 전달 방식(동기, 비동기) (0) | 2022.05.23 |
ios swift 전처리메소드 (Pre-process method) (0) | 2022.05.23 |