처음 보는 Target-Action 디자인 패턴을 공부해봤습니다. 물론 잘 사용하려면 어렵겠지만, 그 내용 자체는 크게 어렵지 않은 것 같네요. 한 객체에 target을 연결해두고, 지정한 Event가 발생하면 타겟이 특정한 액션을 취한다는 게 요지인 듯 하네요. 아래에서 예시로 쭉 설명해볼게요! 타겟-액션 말 그대로, 타겟을 정하고 액션을 취하는 방법입니다. ㅋㅋㅋ 원하는 객체에서 어떤 Event가 발생했을 때, 누가 무엇을 수행할지 ( 무엇을 타겟으로 하고, 어떤 액션을 취할지 )를 미리 등록을 해두면 해당 Event가 발생할 때 마다 타겟에게 메세지를 전달해서 액션을 취하게 하는 방법입니다. 위 예시의 코드를 보면 dataPicker에 타겟과 액션을 등록하는데, UIControl에서 값이 바뀔때마다..
Singleton은 유니티에서 게임개발을 할 때 Manager를 만들면서 정말 많이 활용했던, 거의 제가 알고있는 유일한 그리고 매우 유용한 디자인 패턴입니다. 진짜 쉬워서 간단하게 짚고 예시를 보여주면 다들 이해할 수 있을 거예요 ㅋㅋㅋ 싱글톤이란? 간단하게 말하면, 클래스의 인스턴스가 딱 하나만 존재할 때 이 인스턴스로의 접근을 쉽게 할 수 있도록 만들어주는 방법입니다. 클래스를 선언하면서, 그 클래스에서 static으로 인스턴스를 하나 만들어주면 됩니다. 보통 이 인스턴스의 이름을 shared라는 네이밍을 많이 합니다. (저는 C#의 싱글톤에서는 instance로 주로 썼었어요) 이렇게 만들어주면, 다른 클래스나 인스턴스에서 단 하나뿐인 이 인스턴스로 접근할 때 인자나 다른 방법으로 전달할 필요 없..
Delegate에 대해 지난 포스팅에서 공부를 해봤는데, 처음에는 그 개념이 어려웠었는데 막상 살펴보니 그렇게 어려운 것 같지도 않은 것 같네요? ㅋㅋㅋ 이번에는 Delegate를 이용해서 사진을 고르는 앱을 하나 구성해볼거예요. 매우매우 간단하게, 델리게이트의 사용만 한번 짚고 넘어가는 식으로 해봅시다! 이 예제는 부스트코스 iOS 개발 강의의 Delegation Design Pattern에 나오는 예제입니다. 끝까지 무료강의에 네이버아이디로도 이용할 수 있으니 관심이 있다면 한번 확인해보세요! 사진 고르는 앱 (예시) 만들기 시작! 1. 화면 구성 일단 스토리보드에서 화면을 다음처럼 만들어줍니다. ImageView는 사진을 보여주는 역할을 할 것이고, 버튼은 누르면 사진을 고를 수 있는 창을 올려주는..
Unity로 게임개발을 할 때도 한번 나왔던 개념인데, 그 때도 헷갈려서 자세하게는 못다루고 넘어갔던 내용이네요 ㅋㅋㅋㅋ. 그때 이해를 잘 못해놔서 게임개발을 하면서 한번도 이용한 적이 없었는데, 그 때문에 아직 쓸줄 몰라요ㅜㅜ. 이번에 제대로 공부해서 Delegate에 대해 확실히 이용하고 써먹을 수 있도록 해야겠어요. 여기저기 인터넷을 찾아보고, 부스트코스에서 강의를 들으며 나름대로 정리해서 쉽게 풀어쓴 내용입니다. 틀린 내용이 있으면 댓글로 알려주세면 감사하겠습니다!! Delegate란? 영어단어 그대로의 의미는 '대리자'이지만, 대리자라는 의미가 한번에 와닿지는 않네요. 그래서 구글을 더 찾아봤습니다. 개발자는 이럴때 좋은 것 같아요. (구글에 개발에 대한 모든 정보가 담겨있으니까요 ㅋㅋㅋ) 델리..
오늘은 새로운 뷰 컨트롤러 (새로운 화면)을 띄우는 방법을 공부해봤습니다. 원래는 간단하게 스토리보드(인터페이스빌더)에서 control 키를 누른채로 뷰 컨트롤러에서 드래그하여 이어주는 방법을 사용했었는데, 생각보다 좀 더 다양한 방법과 기능이 있는걸 알게되었네요. 해당 방법이 사용된 예시를 써봤던 앱들 중에서 떠올려보면서 공부를 하니 크게 거부감없이 잘 읽히는 내용들이였습니다. [iOS 앱 개발 - Swift] 모달이 뭘까? ( Modal ) 모달이란? 모달은 간단하게 말하면 사용자가 보고있던 화면 위에 다른 화면을 띄워서 시선을 끌게 만드는 방식이예요. 취소버튼, 확인버튼 등을 눌러야 다시 화면을 내리고 원래 보던 화면에 접근할 수 있기 때문에 모달에는 흐름을 이어지는 컨텐츠를 담기보다는 흐름이 끊어..
이번에 공부한 내용은 네비게이션입니다. 크게 어렵지는 않은 내용이지만, 앱을 만들때 핵심적이고 중요하게 다뤄질 것 같다는 생각이 들어요. 화면 구성의 예시에 대해 보면서, 이 컨트롤러의 사용 방법에 대해 설정화면, 굿노트, 스냅시드처럼 평소에도 유용하게 사용하고 있는 많은 앱들이 떠올랐거든요. 개념적인 면을 잘 잡아두고, 코드로도 이러한 사항들을 예쁘게 구현해봐야겠습니다. ㅋㅋㅋㅋ 네이버나 구글같은데서 검색해서 자료를 보는 것도 좋지만 부스트코스의 무료강의인 iOS 앱개발을 수강해보는 것도 추천합니다! iOS 개발에 대한 내용이나 자료들도 잘 정리해뒀고, Swift를 처음 공부할 사람이 보기에 좋은 문서나 꼭 필요한 내용에 대한 설명,링크를 달아두어 공부하는데 도움이 많이 돼용! 네비게이션 네비게이션 컨..
[iOS 앱 개발] Human Interface Guideline - App Architecture (2) : Onboarding, Requesting Permission, Settings 쭉 읽어봤는데, 확실히 당연히 이렇게 작성해야지! 하는 내용들로 가득차있네요. 아마도, 이용하던 앱들이 다들 이 가이드라인을 따라서 만들었기 때문에 이런 직관적으로 만들고, 사용자를 배려하도록 만들라는 내용에 익숙한 것 같네요 ㅋㅋㅋㅋ 부스트코스를 이용해 iOS와 Swift에 대해 공부하는 사람들이 여기와서 이렇게 정리된 글을 읽으면서 같이 직관적이고 흐름을 찾기도 편한 좋은 애플리케이션을 개발할 수 있으면 좋겠습니다! 아래에 정리해둔 내용들은 시작, 권한 부여, 설정에 대한 내용들입니다! Onboarding 앱 실행..
[Swift 기본 문법] Swift를 처음보면서 낯설었던 문법들을 찾아보았다 확실히 C, C#, Java 같은 언어만 보다가 Swift라는 언어를 접했을 때 이게 무슨의미지? 왜 이런 문법을 쓰지? 같은 생각부터 C#, Java 같은 언어에서 보지 못했던 선언방법이나 키워드를 보면서 Swift 문법을 한번 정리를 해둘 필요가 있다고 느꼈습니다. 다른 강의나 교재의 코드를 베끼면서 공부를 한다해도, 그 의미가 뭔지 알고 읽으면 머리에 남아있겠지만 의미를 모른 채 작동하기만 바라면서 코드를 베끼면 남는건 Xcode의 생김새밖에 없을 것 같더라구요. ㅋㅋㅋ 그래서 남의 코드를 읽으면서 무슨 뜻인지만 파악할 수 있을 정도로 Swift 문법을 정리를 해보려 합니다. 물론 Deep한 영역까지 가는게 아니라 원래 알..
[Swift 개념] AVAudioPlayer 클래스 - 음악 재생과 제어 지금 부스트코스에서 iOS 프로그래밍 강좌를 들으면서 Swift를 공부하는 중이예요. 확실히 작은 프로젝트지만 직접 만들어보면서 공부를 하는게 눈에 보이는 결과물도 나오고 따라갈 이정표가 있어서 공부하기 좋은 것 같네요! 계정 가입절차가 까다로운 것도 아니고 강의 자체도 무료공개라서 저처럼 iOS 개발 공부를 시작하시는 분은 들어보면 좋을 것 같아요. 지금 강좌를 수강하면서 만들고 있는 음악플레이어에 들어가는 AVAudioPlayer 클래스에 대해 더 자세히 찾아보고자 이 글을 포스팅합니다! AVAudioPlayer AVFoundation에 포함되어있는 클래스로, 파일이나 메모리에 저장된 음악을 재생하는 장치와 제어하는 역할을 한다..
[Swift 기초 개념] View, Window 지난학기 Java에 대한 강의를 들으면서 공부했던 Frame, Panel에 대한 내용과 Window, View에 대한 내용이 거의 일치하는 것 같아서 공부하기 편했어요! Xcode의 인터페이스 빌더를 활용하면서 GUI로 코드를 다루니 훨씬 더 편리하게 기능들을 추가하고 다룰 수 있어서 좋네요. 단순하게 View는 그림, Window는 액자에 해당한다고 보면 될 것 같아요. 액자안에 액자는 담지 못해도, 한 액자 안에 여러개의 그림이 들어갈 수 있고, 여러 그림을 콜라주해서 한 그림을 만들 수 있는 걸 생각해보면 View와 Window의 기본적인 개념과 비슷한 것 같네요. View View는 뭘까 View( '뷰'라고 부르겠습니다 )는 UIView 클래스의 ..