본문 바로가기

삶은계란 (Diary)/Xcode

Custom Unwind Segue가 호출되지 않는 경우

서론

강의를 따라 가다가 엉뚱한 곳에서 문제가 생겨 조금 해결해 봤다.

본론

문제파악

문제는 Unwind Segue에 Custom Class를 연결하는 경우 Segue를 호출하지 않는 것이었다.

강의에선 일반 Unwind Segue에 연결 되어있는 상태에서 Class를 새로 생성한 Class 파일로 변경해 주는 방법을 사용했는데,
어째서인지 Xcode 13, iOS 14.5, iOS 15.0에선 동작하지 않았다.

질문을 해도 코드에는 문제가 없다는 답변이 왔기에 내 실수는 아닌 것 같고,
뭔가 달라진 게 분명해 보인다.

사진에도 실수를 찾기 위해 죄다 로그를 찍어 놓은 것을 볼 수 있는데,
로그 자체가 출력이 되지 않으니 아예 해당 Class 파일을 호출하지 못한 것으로 보였다.

해결

뭔가 연결이 잘못된 것은 없나 확인하던 중에 View Controller의 Connection Pannel에서
half embeding가 첫번째 Scene의 버튼에 연결되어있는 것을 볼 수 있었다.
단지 위에 있는 half embeding unwind가 공란으로 표시되고 있었다.
해당하는 Connection Well을 버튼과 연결해 주었다.

새로 연결하니 Document Outline에서 Custom Segue로 바뀌어 표시가 되고,

Canvas에도 위와 같은 모습으로 바뀌었다.

 

결과

이후엔 정상적으로 동작한다.

정리하자면 Custom Unwind Segue를 연결할 때

  • View Controller의 Connection Pannel에 접근
  • Custom Segue를 버튼에 직접 연결

위와 같은 방식으로도 연결할 수 있다.