Lined Notebook

segue 여러개 연결하는 방법

by 사슴비행기

 

개인 프로젝트를 만들고 있는데

Home화면에서 여러 기술들을 TableView로 나열하고

각 항목 클릭 시 모두 SubViewController로 보내서

switch로 해당하는 화면을 띄우도록 구현을 하고 있었다.

 

그런데 그러면 이 방법으로 밖에 화면 이동을 할 수 없으니 재미가 없어서

하나의 TableViewCell에 여러 화면으로 이동할 수 있는

다중 segue를 연결해보고 싶다는 생각이 들었다.

 

어차피 이 프로젝트에서는 내가 어떤 것들을 할 수 있는지

테스트 및 기록하는 프로젝트이기 때문에

하고 싶은 건 다 해도 되니깐.

 

근데 하나의 Cell에 여러개의 segue 연결이 안 되더라.

아래 사진을 보면, 새로운 segue를 연결하면

기존 segue가 풀려버리는 것을 볼 수 있다.

 

 

 

 

그래서 이런 경우는 어떻게 해야 하나 싶었는데

여윽시 구굴링!

해답을 얻었다.

Cell에서 segue를 연결하지 말고

ViewController에서 segue를 연결 한 다음

indentifier를 정해주면 된다.

 

 

 

 

그다음 코드에서 Segue의 Identifier에 따라서 분기를 해주면 된다.

performSegue(withIdentifier: <#T##String#>, sender: <#T##Any?#>)

해당 메서드를 사용하면 된다.

 

 

 

참고로 나는 enum을 사용하여 TableView에서 어떤 항목이 선택되었는지 분기하고 있다.

이런 식으로,

 

 

 

 

앱을 만들다 보면 여러 화면으로 분기되고 또 분기된다.

그리고, 개발자들마다 다르겠지만,

나는 한 앱의 코드를 볼 때 main storyboard부터 본다.

그 앱이 전체적으로 어떤 구조로 이루어지고 있는지

한눈에 보기 쉽기 때문이다.

 

 

 

 

코드로 화면을 만드는 게 익숙하고 쉬운 개발자 분들도 많지만

개인적으로 코드 뜯기 너무 번잡스럽다.

뼈대는 storyboard로... 해주...셔ㅅ...으...며....ㄴ...

 

그리고 어떤 개발자들은 일부러 내 코드를 다른 사람이 알아보기 어렵게 만든다고 한다.

자신의 가치를 높이기 위해서라는데

(나도 주변에서 들은 말이다)

그냥 그럴 시간에 새로운 기술을 익히는 게 효율적인 것 같다.

그리고 코드를 뜯기 어려울수록 나는 더 개발 못하는 사람이라는 인식이 들기도 한다...

개발이라는 게 어쩔 수 없이 협업을 해야 하는 직종인데

알아보기 어렵게 짜면.. 우짜노...

 

하지만 너무 개인적인 생각이고, 부탁이라

(또 사람마다 생각이 다를 수도 있으니)

그냥 속으로 생각만하고,

어떤 사람의 코드도 뜯어볼 수 있도록 스펙업 하는 것을 목표로

열심히 공부하고 있다.. ㅎㅎ

 

암튼 화면 이동하는 거에 사설이 길었다.

segue를 여러 개 연결하는 방법 포스팅이 여러 사람에게 도움이 되면 좋겠다.

(사실 너무 기초적인 부분이지만... 기록은 해두는 걸로)

블로그의 정보

Beautiful Coding

사슴비행기

활동하기