오늘 볼 내용으로 View Controller를 새로 만들어주면 항상 기본적으로 들어있던 viewDidLoad 메서드가 어떤 역할을 하는지 알 수 있게 될 것 같네요! 그 밖에도 화면이 바뀌는 순간 뒤에서는 어떤 작업을 처리하고 있는지를 알 수 있겠네요. 뷰의 상태변화 감지 화면에 보여지는 뷰가 바뀌면, 뷰 컨트롤러는 자동으로 특정한 메서드를 호출해서 이 변화에 다른 클래스들이 반응할 수 있도록 합니다. viewWillAppear 같은 메서드를 사용해 뷰에 보여줄 컨텐츠를 미리 로드하여 준비하고, viewWillDisappear 같은 메서드를 활용하여 삭제될 중요한 정보들을 미리 따로 저장해둘 수 있습니다. 아래 그림은 '나타남', '사라짐' 두 개의 상태와 그 사이의 여러 상태변화를 나타낸 그림입니다...
네비게이션과 모달은 둘 다 뷰 컨트롤러를 제어한다는 공통점이 있지만, 표현 방법에 있어서 차이를 보여줍니다.. 네비게이션, 모달의 용어 차이 네비게이션은 스택구조로 뷰를 쌓아올려 최상위의 뷰만을 보여주는 형태입니다. 따라서 뷰를 스택에 담을때, 화면에 보여줄 때는 Push라 하고 스택에서 뺄 때, 화면에서 제거할 때는 Pop이라고 합니다. 모달은 네비게이션 바같은 다른 뷰를 보여주지 않고 화면위를 덮는 형태입니다. 화면에 뷰를 보여준다고 해서 Present라고 하고, 화면에서 내릴때는 Dismiss라고 합니다. 네비게이션은 Push-Pop, 모달은 Present-Dismiss! 네비게이션, 모달의 용도 차이 네비게이션은 주로 깊이와 흐름을 가지는 구조에서 사용됩니다. 네비게이션 바의 타이틀(이름)을 통해..
오늘은 새로운 뷰 컨트롤러 (새로운 화면)을 띄우는 방법을 공부해봤습니다. 원래는 간단하게 스토리보드(인터페이스빌더)에서 control 키를 누른채로 뷰 컨트롤러에서 드래그하여 이어주는 방법을 사용했었는데, 생각보다 좀 더 다양한 방법과 기능이 있는걸 알게되었네요. 해당 방법이 사용된 예시를 써봤던 앱들 중에서 떠올려보면서 공부를 하니 크게 거부감없이 잘 읽히는 내용들이였습니다. [iOS 앱 개발 - Swift] 모달이 뭘까? ( Modal ) 모달이란? 모달은 간단하게 말하면 사용자가 보고있던 화면 위에 다른 화면을 띄워서 시선을 끌게 만드는 방식이예요. 취소버튼, 확인버튼 등을 눌러야 다시 화면을 내리고 원래 보던 화면에 접근할 수 있기 때문에 모달에는 흐름을 이어지는 컨텐츠를 담기보다는 흐름이 끊어..
부스트코스 강좌를 수강하면서 나오는 예시를 따라 네비게이션 컨트롤러를 구현해보았습니다. 복잡하게 코드로 구현해야 하는 문제가 아니라 Storyboard 상에서 GUI로 뚝딱 조립을 해낼 수 있기 때문에 크게 어렵지는 않았어요. 다만, 코드로 Push를 구현하는 방법은 강의에서 아직은 배울 차례가 아니기 때문에 후에 알려준다고 하여, 인터넷을 구글링하면서 한번 찾아서 구현하려 노력해봤습니당! 네비게이션 컨트롤러 만들기 스토리보드상에서 굉장히 간단하게 네비게이션 컨트롤러를 만들 수 있어요. 1. 빈 View Controller를 선택하고, 위 메뉴에서 [ Editor - Embed in - Navigation Controller ] 를 선택해주면 Navigation Controller가 됩니다. 2. '⌘ ..
[리뷰] edwith에서 코드리뷰를 받아봤습니다 요즘 매일 듣고 찾아보며 공부하고있는 edwith의 부스트코스 iOS 앱개발 강의 링크입니다. 관심이 있는 분이라면 한번 들어가서 살펴보세요! 요즘 작성하는 글의 머리에도 언급을 하고있는 부스트코스에서 코드리뷰를 받아봤어요. 제출한 프로젝트는 제공되는 에셋을 이용해서 만든 MusicPlayer입니다. 이렇게 생겼어요 ㅋㅋㅋ 그런데 리뷰가 생각했던 것보다 훨씬 괜찮은 것 같아요. 리뷰어 분이 제가 작성한 코드를 한줄 한줄 읽어보면서 "변수 이름은 이렇게 지어주는 것이 좋습니다!", "이 부분에서 괄호는 없는 것이 자연스럽습니다!", "굳이 분리하지 말고 합쳐서 쓰는게 더 깔끔한 것 같네요!" 이런 코드에 대한 평가를 쭉 달아주셨어요. 또, guard let ..
이번에 공부한 내용은 네비게이션입니다. 크게 어렵지는 않은 내용이지만, 앱을 만들때 핵심적이고 중요하게 다뤄질 것 같다는 생각이 들어요. 화면 구성의 예시에 대해 보면서, 이 컨트롤러의 사용 방법에 대해 설정화면, 굿노트, 스냅시드처럼 평소에도 유용하게 사용하고 있는 많은 앱들이 떠올랐거든요. 개념적인 면을 잘 잡아두고, 코드로도 이러한 사항들을 예쁘게 구현해봐야겠습니다. ㅋㅋㅋㅋ 네이버나 구글같은데서 검색해서 자료를 보는 것도 좋지만 부스트코스의 무료강의인 iOS 앱개발을 수강해보는 것도 추천합니다! iOS 개발에 대한 내용이나 자료들도 잘 정리해뒀고, Swift를 처음 공부할 사람이 보기에 좋은 문서나 꼭 필요한 내용에 대한 설명,링크를 달아두어 공부하는데 도움이 많이 돼용! 네비게이션 네비게이션 컨..
[iOS 앱 개발] Human Interface Guideline - App Architecture (2) : Onboarding, Requesting Permission, Settings 쭉 읽어봤는데, 확실히 당연히 이렇게 작성해야지! 하는 내용들로 가득차있네요. 아마도, 이용하던 앱들이 다들 이 가이드라인을 따라서 만들었기 때문에 이런 직관적으로 만들고, 사용자를 배려하도록 만들라는 내용에 익숙한 것 같네요 ㅋㅋㅋㅋ 부스트코스를 이용해 iOS와 Swift에 대해 공부하는 사람들이 여기와서 이렇게 정리된 글을 읽으면서 같이 직관적이고 흐름을 찾기도 편한 좋은 애플리케이션을 개발할 수 있으면 좋겠습니다! 아래에 정리해둔 내용들은 시작, 권한 부여, 설정에 대한 내용들입니다! Onboarding 앱 실행..
[iOS 앱 개발] Human Interface Guideline - App Architecture (1) : Loading, Modality, Navigation 부스트코스에서 강좌를 수강하면서 iOS 개발의 이것저것을 찾아보고 있는데, 강의 내용 중간에 야곰님이 휴먼 인터페이스 가이드라인 ( HIG ) 에 대해 자세히 읽어보라는 내용이 있더라구요. 이전에 친구한테서 애플의 앱스토어에 올라와있는 앱들이 다들 통일감이 있고 쓰기 편한 이유가 HIG를 잘 따라서 만들었기 때문에 그런 것 같다는 이야기를 들은적이 있어요. 호기심이 생겨서 무슨 내용을 담고있나 읽어보니까, 앱개발 뿐만 아니라 모든 소프트웨어에서 적용이 가능한 내용이 쭉 적혀있는 것 같아서 되게 괜찮더라구요. 그래서 이에 대한 내용들을 쭉 번역..
[Swift 기본 문법] Swift를 처음보면서 낯설었던 문법들을 찾아보았다 확실히 C, C#, Java 같은 언어만 보다가 Swift라는 언어를 접했을 때 이게 무슨의미지? 왜 이런 문법을 쓰지? 같은 생각부터 C#, Java 같은 언어에서 보지 못했던 선언방법이나 키워드를 보면서 Swift 문법을 한번 정리를 해둘 필요가 있다고 느꼈습니다. 다른 강의나 교재의 코드를 베끼면서 공부를 한다해도, 그 의미가 뭔지 알고 읽으면 머리에 남아있겠지만 의미를 모른 채 작동하기만 바라면서 코드를 베끼면 남는건 Xcode의 생김새밖에 없을 것 같더라구요. ㅋㅋㅋ 그래서 남의 코드를 읽으면서 무슨 뜻인지만 파악할 수 있을 정도로 Swift 문법을 정리를 해보려 합니다. 물론 Deep한 영역까지 가는게 아니라 원래 알..