Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
중앙대학교 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

Develop 249

[iOS 앱 개발 - Swift] Table View : 테이블 뷰

[iOS 앱 개발 - Swift] Table View : 테이블 뷰 테이블뷰는 스크롤을 올리고 내리는 액션으로 많은 양의 정보를 보여줄 수 있는 형태의 UI 입니다. 일렬로 쭉 세워놓은 정보들이라 볼 수 있겠네요. 주로 수직방향으로만 스크롤이 가능합니다. 이 행들은 섹선 (Section) 이라는 단위로 묶을 수 있고, 헤더와 푸터를 통해 섹션의 위아래에 추가로 정보를 담을 수도 있습니다. 테이블 뷰의 형태 테이블 뷰는 크게 두가지 형태로 구분이 가능합니다. 모든 행이 이어져있는 일반 테이블 뷰 (Plain TableView), 중간중간에 공백으로 구분되어있는 *그룹 테이블 뷰 *(Group TableView) 로 나눌 수 있습니다. 1. 일반 테이블 뷰 여러개의 섹션을 가질 수 있고, 각 섹션은 헤더나 ..

Develop/iOS 개발 2019.08.14

[iOS 앱 개발 - Swift] ImageView가 터치에 반응하게 만들기

[iOS 앱 개발 - Swift] ImageView가 터치에 반응하게 만들기 부스트코스 iOS 앱개발 프로젝트 2번을 수행하면서 스토리보드 상에서 만들어준 ImageView가 버튼처럼 눌렀을 때 반응하도록 만드는 작업을 해줘야 했는데, 이 부분을 잘 모르겠더라구요. 인터넷을 떠돌며 정보를 찾아서 결국 아래 GIF 처럼 구현을 해냈습니다. 구글링을 쭉 해보니 모두 배웠던 부분들이고, 생각보다 간단한 문제였어요. ㅋㅋㅋㅋ 앞서 포스팅에서 공부했던 Gesture Recognizer - Target Action Design 등을 이용하였습니다. 먼저 스토리보드에서 만들어준 UIImageView를 @IBOutlet 으로 ViewController 스크립트로 가져와줍니다. 가져온 ImageView에 터치를 인식하는..

Develop/iOS 개발 2019.08.14

[iOS 앱 개발 - Swift] 코코아팟으로 이미지편집기 사용하기

[iOS 앱 개발 - Swift] 코코아팟으로 이미지편집기 사용하기 부스트코스에서 프로젝트를 하면서 외부기능을 가져올 일이 있었습니다. 바로 요것! 사진을 imagePicker에서 골라준 다음에, 사이즈를 조정하거나 기울기, 크롭 등의 작업을 해주기 위해 어떤 방법을 써야하나 고민을 했는데, 친구한테 물어보니 외부에 라이브러리가 많으니 참고해보라고 해서 여기저기 찾아봤어요. 그렇게 찾은게 바로 요 Mantis라는 것입니다. https://github.com/guoyingtao/Mantis guoyingtao/Mantis A photo cropping tool which mimics Photo.app. Contribute to guoyingtao/Mantis development by creating an..

Develop/iOS 개발 2019.08.14

[후기] edwith 에서 부스트코스 iOS 강의를 들으면서 느낀 점

https://www.edwith.org/boostcourse-ios/notices/12898 에듀케이션위드 : edwith 에드위드(edwith)는 네이버(NAVER)와 커넥트재단(CONNECT)이 제공하는 온라인 강좌(MOOC : Massive Online Open Course) 교육 플랫폼입니다. 에듀케이션위드(education with) 에드위드(edwith)로 분야별 명품 강좌를 무료(Free Course)로 수강하세요. www.edwith.org edwith의 부스트코스 iOS 프로그래밍 강좌를 수강하면서 느꼈던 점입니다. 코드리뷰를 제외한 모든 강의(+자료)는 무료로 제공되고, 네이버 아이디로도 강의를 들을 수 있는 만큼 접근성이 좋아서 iOS 앱개발, 아이폰 앱개발을 공부해보고싶은 초보분이..

Develop 2019.08.13

[iOS 앱 개발 - Swift] Gesture Recognizer

이번에 공부한 내용은 아이폰과 아이패드에서 터치로 할 수 있는 다양한 동작들을 인식시키는 방법인 Gesture Recognizer입니다. 한 손가락 터치, 두 손가락 터치, 꼬집기(핀치), 회전, 스와이프 등의 동작에 대해 인식시키는 여러가지 기능이 구현되어 준비되어있고, 우리가 할 일은 이걸 사용하는 방법을 알고 적재적소에 이용하는 것이죠! 그게 개발자가 하는 일이죠 ㅋㅋㅋ 이 내용을 공부하면 우리가 흔히 "자연스럽고 익숙하다"라고 말하는 좋은 사용자 경험을 만들 수 있습니다. 모달 화면 중에 백그라운드를 터치하는 것으로도 dismiss 시킬 수 있다던지, 스와이프 동작으로 네비게이션 컨트롤러에서 뒤로 돌아갈 수 있다던지 등의 기능을 추가할 수 있어요. 이 부분에 대해 공부해두는건 꽤나 유용하고 잘 만..

Develop/iOS 개발 2019.08.11

[iOS 앱 개발 - Swift] Target-Action Design Pattern

처음 보는 Target-Action 디자인 패턴을 공부해봤습니다. 물론 잘 사용하려면 어렵겠지만, 그 내용 자체는 크게 어렵지 않은 것 같네요. 한 객체에 target을 연결해두고, 지정한 Event가 발생하면 타겟이 특정한 액션을 취한다는 게 요지인 듯 하네요. 아래에서 예시로 쭉 설명해볼게요! 타겟-액션 말 그대로, 타겟을 정하고 액션을 취하는 방법입니다. ㅋㅋㅋ 원하는 객체에서 어떤 Event가 발생했을 때, 누가 무엇을 수행할지 ( 무엇을 타겟으로 하고, 어떤 액션을 취할지 )를 미리 등록을 해두면 해당 Event가 발생할 때 마다 타겟에게 메세지를 전달해서 액션을 취하게 하는 방법입니다. 위 예시의 코드를 보면 dataPicker에 타겟과 액션을 등록하는데, UIControl에서 값이 바뀔때마다..

Develop/iOS 개발 2019.08.10

[Swift 개념] Singleton Design Pattern

Singleton은 유니티에서 게임개발을 할 때 Manager를 만들면서 정말 많이 활용했던, 거의 제가 알고있는 유일한 그리고 매우 유용한 디자인 패턴입니다. 진짜 쉬워서 간단하게 짚고 예시를 보여주면 다들 이해할 수 있을 거예요 ㅋㅋㅋ 싱글톤이란? 간단하게 말하면, 클래스의 인스턴스가 딱 하나만 존재할 때 이 인스턴스로의 접근을 쉽게 할 수 있도록 만들어주는 방법입니다. 클래스를 선언하면서, 그 클래스에서 static으로 인스턴스를 하나 만들어주면 됩니다. 보통 이 인스턴스의 이름을 shared라는 네이밍을 많이 합니다. (저는 C#의 싱글톤에서는 instance로 주로 썼었어요) 이렇게 만들어주면, 다른 클래스나 인스턴스에서 단 하나뿐인 이 인스턴스로 접근할 때 인자나 다른 방법으로 전달할 필요 없..

Develop/iOS 개발 2019.08.10

[iOS 앱 개발 - Swift] Delegation Design Pattern 간단한 예제 만들어보기

Delegate에 대해 지난 포스팅에서 공부를 해봤는데, 처음에는 그 개념이 어려웠었는데 막상 살펴보니 그렇게 어려운 것 같지도 않은 것 같네요? ㅋㅋㅋ 이번에는 Delegate를 이용해서 사진을 고르는 앱을 하나 구성해볼거예요. 매우매우 간단하게, 델리게이트의 사용만 한번 짚고 넘어가는 식으로 해봅시다! 이 예제는 부스트코스 iOS 개발 강의의 Delegation Design Pattern에 나오는 예제입니다. 끝까지 무료강의에 네이버아이디로도 이용할 수 있으니 관심이 있다면 한번 확인해보세요! 사진 고르는 앱 (예시) 만들기 시작! 1. 화면 구성 일단 스토리보드에서 화면을 다음처럼 만들어줍니다. ImageView는 사진을 보여주는 역할을 할 것이고, 버튼은 누르면 사진을 고를 수 있는 창을 올려주는..

Develop/iOS 개발 2019.08.10

[iOS 앱 개발 - Swift] Delegation Design Pattern

Unity로 게임개발을 할 때도 한번 나왔던 개념인데, 그 때도 헷갈려서 자세하게는 못다루고 넘어갔던 내용이네요 ㅋㅋㅋㅋ. 그때 이해를 잘 못해놔서 게임개발을 하면서 한번도 이용한 적이 없었는데, 그 때문에 아직 쓸줄 몰라요ㅜㅜ. 이번에 제대로 공부해서 Delegate에 대해 확실히 이용하고 써먹을 수 있도록 해야겠어요. 여기저기 인터넷을 찾아보고, 부스트코스에서 강의를 들으며 나름대로 정리해서 쉽게 풀어쓴 내용입니다. 틀린 내용이 있으면 댓글로 알려주세면 감사하겠습니다!! Delegate란? 영어단어 그대로의 의미는 '대리자'이지만, 대리자라는 의미가 한번에 와닿지는 않네요. 그래서 구글을 더 찾아봤습니다. 개발자는 이럴때 좋은 것 같아요. (구글에 개발에 대한 모든 정보가 담겨있으니까요 ㅋㅋㅋ) 델리..

Develop/iOS 개발 2019.08.10

[iOS 앱 개발 - Swift] 뷰의 상태변화 감지

오늘 볼 내용으로 View Controller를 새로 만들어주면 항상 기본적으로 들어있던 viewDidLoad 메서드가 어떤 역할을 하는지 알 수 있게 될 것 같네요! 그 밖에도 화면이 바뀌는 순간 뒤에서는 어떤 작업을 처리하고 있는지를 알 수 있겠네요. 뷰의 상태변화 감지 화면에 보여지는 뷰가 바뀌면, 뷰 컨트롤러는 자동으로 특정한 메서드를 호출해서 이 변화에 다른 클래스들이 반응할 수 있도록 합니다. viewWillAppear 같은 메서드를 사용해 뷰에 보여줄 컨텐츠를 미리 로드하여 준비하고, viewWillDisappear 같은 메서드를 활용하여 삭제될 중요한 정보들을 미리 따로 저장해둘 수 있습니다. 아래 그림은 '나타남', '사라짐' 두 개의 상태와 그 사이의 여러 상태변화를 나타낸 그림입니다...

Develop/iOS 개발 2019.08.08