티스토리 뷰

 

안녕하세요 토니입니다:) 😇

오늘은 스토리보드를 분할하고나서 화면을 이동해보는 법을 다뤄볼거에요!

 

협동작업을 하게 된다면 스토리보드에서 알 수 없는 충돌을 겪어보신 분들이 꽤나 많으실텐데요!!!

 

그래서 스토리보드를 각각 분리해서 개발한다! 라는 말 들어보신 분들 많겠죠??

 

그래서 한번 이 주제를 갖고 글을 써보게 되었습니다!!

 

자 모두 겁먹지 말고 한번 출발해볼까요?? 🙋🏻

 

reference를 이용하지 않고 코드를 이용해서 작성해볼게요!!

 

자 프로젝트를 이렇게 만들었구요!

 

이건 모두의 초기화면 이겠죠??

 

 

그럼 먼저 간단하게 스토리보드에 버튼을 만들어봅시다!

모두들 만드셨나요??

 

그렇다면 이 버튼을 뷰컨트롤러에 등록을 해볼까요?

 

그전에!!

 

저는 뷰컨트롤러 이름도 스토리보드를 따라서 MainViewController로 바꿔줬답니다

 

이 부분은 여러분의 자유!! 헷갈려하시는 분들이 있을까봐 바꿨답니다^-^

 

 

스토리보드의 버튼에서 마우스 오른쪽 버튼을 클릭하고 코드 있는 곳으로 잡아끌면 버튼을 등록해줄수가 있어요

 

Action으로 선택해주시구요!

 

 

이름은 마음대로 지으셔두 되구요 저는 touchupNextButton으로 지었습니다!

 

그렇다면 이제 여러분은 이 버튼을 사용하실수가 있게 되었어요!

 

 

그럼 이제 한번 다음 스토리보드를 추가해볼까요?

 

File -> New 로 스토리보드를 새로하나 추가해주시구요

 

저는 이름을 Next로 지어봤습니다

 

저는 여기서 뷰컨트롤러 역시 같이 추가해주었습니다!!

 

자 그다음은 Next 스토리보드에 identifier를 줄건데요!

 

여기서 잠깐 , identifier란 무엇일까요?

 

 

뷰의 별명이라고 할수도 있을 것 같아요!

 

 

여기서 저는  "NextView" 라는 식별자를 주었구요!

 

자 이제 화면 이동할 모든 준비가 끝났습니다.

 

MainViewController로 돌아와볼까요?

 

이제 버튼을 누르면 화면이 이동하게 해줄테니 저 버튼메서드 안에다가 무엇인가를 구현해주면 되겠지요??

 

저는 메서드를 따로 빼서 만들어볼게요!

 

일단 이름은 moveViewController() 라고 지었어요!

 

 

자 이제 이동을 할 스토리보드의 이름을 적고 상수화를 시켜줄까요!

 

 

그다음은 상수화를 시켜준 스토리보드에 instantiateViewController() 메소드를 사용할거에요! 

 

여기에서 identifier는 아까 작성한거 기억하시죠? 저는 NextView라고 넣어줬습니다

 

그러면 궁금증이 생기지 않나요? 

 

instantiateViewController

 

너는 뭐하는 놈이냐!!

 

공식문서에서 살펴보면

 

 

지정된 identifier를 가지고 스토리보드의 데이터를 초기화 해 뷰 컨트롤러를 만든다... 라고 되어있네요?

 

단박에 이해가시나요?

 

어렵쥬?

 

 

자 조금 풀어서 설명을 해보자면

 

 

instantiateViewController를 사용하여 뷰 컨트롤러를 만들게 된다면! 

 

데이터는 초기화되고 새로운 인스턴스가 생성되게 됩니다! 

 

아하!

 

instantiateViewController 새로운 뷰로 넘어갈 때  사용해야 하겠네요!!

 

조금 이해가 되셨나요?

 

그럼 저 메서드를 통해 Main에서 Next로 넘어간다고 생각을 해보죠

 

만약 Main의 화면에서 Next의 화면으로 이동했다가 다시 Main으로 돌아온 이후에 다시 Next로 이동을 한다면

 

두개의 Next는 과연 이전의 화면일까요?

 

Next로 넘어갈 때 instantiateViewController를 사용해서 넘어간다면 

 

다시 데이터가 초기화되고 새로운 인스턴스가 생성되기 때문에 

 

우리는 같은 내용의 같은 화면을 보고있겠지만, 사실은 같은 얼굴을 한 새로운 인스턴스겠죠? 😶‍🌫️

 

 

 

자 여기까지 instantiateViewController의 간단한 이해가 되었다면!

 

한번 다음 스탭으로 넘어가볼까요?

 

자 이렇게 present를 이용해서 다음 창으로 넘어갈건데요

 

present가 뭐냐!

 

하시는 분들을 위해 공식문서에서 가져와봤어용

딱봐도 모달로 화면을 띄워주는 것 같죠?

 

간단하게 설명하자면, animated -> 애니메이션의 동작 여부이고, completion은 화면전환 완료시 실행될 메서드 이구용

 

자그럼 이제 실행을 해볼까요??

 

물론 안되는 거 알아요! 

 

왜냐면 버튼을 눌렀을 때 무슨행동을 할지 안정해줬기 때문이에요ㅎㅎㅎ

 

자 그러면 우리가 만든 메서드를 다음과 같이 넣어볼까요?

 

와 스토리보드를 분할해서 화면이동하는데 성공해보았어요!!! 👊

 

 

어떤가요? 

 

별로 어렵지않았죠??? 😁

 

이렇게 스토리보드로 분할하는 법을 배워봤는데

 

데이터 전달도 한번 배워봐야겠죠? 🤔

 

그 전까지

2021.12.12 - [IOS] - iOS) 의존성 주입 (Dependency Injection) ...? 

꼭꼭 익히시는 것을 추천드려요!!

 

궁금한점이나 틀린 것 있으면 언제든지 댓글 환영이에요!

'Swift' 카테고리의 다른 글

Swift - 의존성 주입 (Dependency Injection) ...?  (0) 2021.12.12
Swift - Codable..?  (1) 2021.12.07
Swift - Table View - DataSource, Delegate  (0) 2021.12.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함