스위프트(Swift)

[Swift/iOS] 뷰 컨트롤러(View Controller) 변경 및 생성하는 방법

뜯기 2022. 12. 3. 18:06

 

 

 

스위프트 개발을 하다보면 처음에는 파일의 개수가 적기 때문에 각각 어떤 파일인지 쉽게 인지가 되지만, 프로젝트가 커지면 커질수록 파일의 개수도 늘어나기 때문에 모든 파일에 대해 바로바로 알기가 쉽지 않습니다. 그렇기 때문에 작업하는 파일의 이름을 알아 보기 쉽게 수정하고, 설정하는 것이 중요합니다.

하나의 뷰에는 하나의 뷰 컨트롤러가 같이 생성이 되는데 이때 작업하는 뷰 컨트롤러의 이름을 보고 어떤 파일인지 알기 쉽게끔 뷰컨트롤러의 이름을 변경하고 아예 새롭게 생성하는 방법도 알아보겠습니다.

 

 

먼저, 뷰 컨트롤러의 이름을 변경하는 방법입니다. 왼쪽 네비게이터 영역에서 수정하고자 하는 View Controller를 누르고 엔터를 치시면 위와 같이 파일명이 수정가능한 상태로 바뀌게 됩니다. 이때 파일명을 알아보기 쉽게 변경해주시면 됩니다. 저는 임의로 "TestViewController"로 설정하겠습니다.

 

 

View Controller의 파일 이름을 변경했으면 이제 해당 뷰 컨트롤러 내의 클래스명을 수정해주시면 됩니다. 일반적으로 편하게 사용하기 위해서 뷰 컨트롤러 파일명과 클래스명을 동일하게 하는 편입니다. 저는 "TestViewController"라는 파일명 그대로 class명을 "TestViewController"로 수정했습니다. 그러면 오른쪽 인스펙터 영역에 Name이 "TestViewController.swift"로 변경된 것을 확인할 수 있습니다.

 

 

그런 다음 이제 스토리보드와 바뀐 뷰 컨트롤러를 서로 연결해줘야 합니다. 일반적으로 파일명만 바꾸면 되는거 아닌가? 라고 생각할 수 있지만 파일명을 바꾸게 되면 클래스명부터 스토리보드랑 연결도 새롭게 해줘야합니다. 스토리보드에서 "View Controller"를 선택하신 다음 인스펙터 영역에서 클래스 이름을 변경해주셔야 합니다. [Custom Class - Class]에서 바뀐 뷰 컨트롤러 클래스 이름을 입력해주시면 됩니다. 그러면 해당 뷰 컨트롤러와 스토리보드가 서로 연결되게 됩니다.

 

 

그러면 이제 그 어디서도 기존의 "View Controller"라는 클래스 이름을 찾아볼수가 없습니다. 전부다 바꾼 "TestViewController"로 보여지게 됩니다. 이렇게 뷰 컨트롤러의 이름을 변경해주시면 됩니다.

 

 

 

이번에는 뷰 컨트롤러를 아예 새롭게 생성해서 추가해보도록 하겠습니다. 상단 [File - New - File..]을 눌러서 새로운 파일을 생성해보도록 하겠습니다.

 

 

 

그럼 생성할 수 있는 여러 파일의 종류가 나타납니다. 여기에서 [Cocoa Touch Class]를 누른 다음 Next를 눌러주세요.

 

 

 

여기에서 만들고자 하는 View Controller 의 이름을 설정해주시면 됩니다. 이때, Subclass of: 를 [UIViewController]로 선택하신 다음 파일을 생성해주시면 됩니다. 저는 일단 Subclass of를 설정하지 않고 진행해보도록 하겠습니다.

 

 

 

그러면 해당 뷰 컨트롤러 파일이 생성됩니다. 새로운 파일이 생성되면 기존에 있는 사용하지 않는 VIewController를 삭제를 하셔도 됩니다.

 

 

새로 생성된 파일을 살펴보면 생성된 파일명을 따라서 해당 파일 내 class 명도 해당 파일명으로 자동 설정된 것을 확인할 수 있습니다.

 

 

 

그럼 이제 스토리보드와 연결을 시켜줘야합니다. 스토리보드는 기존 뷰컨트롤러에 연결이 되어 있는 상태이기 때문에 이름 변경하는 것과 동일하게 다시 스토리보드와 해당 뷰 컨트롤러를 연결시켜줘야 합니다. 스토리보드 내 뷰 컨트롤러를 선택한 다음 인스펙터에서 해당 클래스명을 변경해주시면 됩니다. 이때 클래스명을 변경하려고 하지만 변경이 되지 않는다면 해당 뷰 컨트롤러를 다시 살펴봐야 합니다.

해당 뷰 컨트롤러 class 클래스명에 "UIViewController"가 아닌 다른 오브젝트가 오면 클래스명 변경이 되지 않을 수 있습니다. 그런 경우 "UIViewController"가 맞는지 확인하신 다음에 클래스명 변경하시면 됩니다.

 

뷰 컨트롤러는 기존에 있는 뷰 컨트롤러의 이름을 변경한 후, 클래스명 변경하고 스토리보드와 다시 연결하는 방법도 있고 아예 새로운 뷰 컨트롤러를 생성한 후 스토리보드와 연결하는 방법이 있습니다. 변경을 하거나 생성을 하고 나서 스토리보드와 꼭 다시 연결을 해야 합니다.

 

 

 

 

 

 

 

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."