UITabBarController 다음으로 사용했던 뷰컨트롤러는 UINavigationViewController 이를 정리하려다가 이를 포괄하는 개념인 '화면 전환'에 대해 먼저 알아보는 것이 좋겠다 싶다. 화면 전환에 대해 정리해보자. present, pushViewController 이 메소드들의 차이점을 알고 있니? 그 때 그 때 마구잡이(?)로 가져다 썼던 메소드들도 정리 ㄱㄱ 앱은 보통 한 화면으로만 구성되지 않는다. 화면을 어떻게 나눌 것인지, 나눈 화면 간의 연결은 어떻게 할 것인지 등을 생각해봐야 한다. 여기서 '화면 전환' 이라는 개념이 나오는데, 이 화면전환은 1) 소스 코드 2) Storyboard 두 군데에서 구현할 수 있다. 전환 방식은 크게 4가지로 나눌 수 있다. 1) 하나의 ..
iOS 프로젝트를 진행하면서 정말 수도 없이 봤던 Extension. 처음 사용해본 건 ViewController에 UITableViewDelegate, UITableViewDataSource 프로토콜을 채택할 수 있도록 확장하기 위해서였다. 이 외에도 기본 Type들에 원래 있는 기능은 아니지만, 자주 사용되는 기능들을 모아놓기 위해 사용하기도 했었다. UIView에 그림자를 설정할 수 있도록 하는 메소드를 만들어 두었던 것이 대표적인 예시다. Extension Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend typ..
iOS의 대부분의 앱을 살펴보면 하단에 여러 탭들이 있고, 해당 탭을 누르면 새로운 화면이 나오는 구조가 많다. 이렇게 자주 사용되는 구조의 핵심인 UITabBarController를 살펴보자. UITabBarController UITabBarController란, Container View Controller로서 수평적인 관계의 여러 화면에 바로 접근할 수 있도록 하는 Tab Bar를 제공하는 View Controller이다. Container View Controller 란? 직접적으로 콘텐츠를 표시하지 않으면서 다른 View Controller를 유기적인 관계로 제어하는 View Controller. 대표적으로 Navigation Controller, Split View Controller, Pag..
iOS 프로젝트를 할 때 다른 개발자 분과 협업해야 하는 상황이 있었다. 다른 개발자 분과 나는 도메인을 나눠서 구현 범위를 정하기로 했는데, 여기서 문제는 Storyboard를 어떻게 나눠서 관리할지 정하는 것이었다. 도메인은 탭을 기준으로 확실하게 분리했다. 가령 나는 홈 화면, 지도 화면, 더보기 화면이라면 다른 개발자 분은 상태 화면, 일정 화면 이런 식으로 말이다. Storyboard도 이에 맞춰서 분리하기로 했다. 여기서 사용하게 된 것이 바로 Storyboard Reference. Storyboard Reference란 무엇인지 살펴보자. Storyboard Reference Object Library에서 Storyboard Reference를 찾아봤다. Storyboard reference..
Q. Swift에서 Structure와 Class의 차이는 무엇이고 언제 써야 하는가? 우선 Structure와 Class는 데이터를 용도에 맞게 묶어서 표현하고자 할 때 사용하는 문법이다. (사용자 정의 Data Type) 이 둘은 Property(프로퍼티 - 값)와 Method(메소드 - 기능)를 가진다. Swift에서 Structure와 Class는 모습과 문법이 거의 흡사하다. 둘의 가장 큰 차이점을 먼저 말하자면, Structure는 값 타입(Value Types)인 반면, Class는 참조 타입(Reference Types)이다. 참고) 일부 프로그래밍 언어에서는 소스 파일 하나 당 하나의 Structure 또는 Class만 선언하고 구현할 수 있지만, Swift에서는 별도의 제약사항이 없다...