[Swift] WWDC18 - Using Collections Effectively(2)
·
WWDC/Swift
1편 보기 [Swift] WWDC18 - Using Collections Effectively(1) 서론 Collection은 개발에 빠질 수 없는 필수 요소입니다. 이번에 살펴볼 WWDC18 - Using Collections Effectively에서는 Collection을 효과적으로 사용하는 방법을 알려줍니다. 함께 알아봅시다~ Collection Collection jeong9216.tistory.com Mutable Collection Mutable Collection은 길이는 변경할 수 없지만, 원소는 변경할 수 있습니다. 이 동작은 상수 시간으로 수행이 가능합니다. Range Replaceable Collections Range Replaceable Collections는 Collection에..
[Swift] WWDC18 - Using Collections Effectively(1)
·
WWDC/Swift
서론 Collection은 개발에 빠질 수 없는 필수 요소입니다. 이번에 살펴볼 WWDC18 - Using Collections Effectively에서는 Collection을 효과적으로 사용하는 방법을 알려줍니다. 함께 알아봅시다~ Collection Collection 없이 개발하는 것은 매우 힘듭니다. 요소 하나하나 출력해줘야 하거나 if - else if ... 를 이용해 모든 케이스를 직접 관리해야 합니다. Collection은 이런 불편함을 줄여줍니다. 위처럼 하나하나 관리했던 문제는 Array를 이용해 간편하게 처리가 가능합니다. Collection은 프로토콜 중 하나로, 요소들이 여러 번 통과할 수 있는 시퀀스면서, subscript를 통해 접근할 수 있습니다. Collection은 sta..
[영화] 아바타: 물의 길 3D 리뷰 (핵심만! / 스포 X / 포스터 경품)
·
🐱 정주는 쉬는 중 :]/일상
서론 뜨끈뜨끈한 신작, 아바타: 물의 길 3D를 보고 왔습니다. 아이맥스 3D는 아니고 용산 CGV에서 1관 일반 3D를 보고 왔어요. (아이맥스는 자리가 ㅠ) 스포도 하면 안 되고 줄거리도 이미 대충은 아실테니, 핵심만! 궁금해하실 거 같은 내용만 작성해보았습니다. 기타 다른 궁금점은 댓글로 남겨주세요 ㅎㅎ 스포가 포함된 질문은 비밀댓글로 부탁합니다. (삭제 처리될 수 있습니다.) 참고로 상영관 앞에 레고도 있더라구요 ㅎㅎ 귀여워서 한 컷 찍었습니다. 그리고 요즘 3D 안경이 되게 좋더라고요. 이렇게 생겼는데, 모두 개별 포장 되있고 굉장히 가벼웠습니다 ㅎㅎ (일반 안경 무게) 심지어 반납하는게 아니라 버리거나 가져가도 됩니다. 옛날엔 무겁고 모두 반납했던거로 기억하는데 이렇게 개별 포장해두니 청결, ..
[iOS] Apple 개발자 프로그램(멤버십) 등록시 주의할 점
·
iOS/개념 & 개발
서론 오랜만에 포스팅을 작성하네요. 최근에 최종 탈락으로 인한 심신미약과 졸업 준비로 인해 글을 쓰기가 힘들었습니다 ㅎㅎ; 아무튼, Apple 개발자 프로그램을 갱신하라는 메일이 왔습니다. 애플에게 1년에 한 번씩 친구비를 내는 날이죠. 이 과정에서 발생했던 문제와 Apple 개발자 프로그램을 등록할 때 주의할 점에 대해 알아봅시다. Apple 개발자 프로그램도 구독 결제가 가능하다. 먼저 Apple 개발자 프로그램은 구독이 불가능하다고 알고 계시는 분들이 계실텐데요. Apple 개발자 프로그램도 자동 구독 결제가 가능합니다. 바로 Apple Developer 앱을 이용하는 것이죠. 이 앱에서 계정에 로그인한 후 들어가면 멤버십을 결제하고 구독할 수 있습니다. 매번 카드 결제를 직접 하지 않아도 자동으로..
[iOS] TLDR 개발 일지 - Summarize ViewModel 구현
·
iOS 프로젝트/TLDR
서론 마지막 TLDR 개발일지인 Summarize ViewModel 구현입니다. 선택한 키워드를 어떻게 관리하는지 고민한 내용을 다룹니다. TLDR 앱 출시도 완료했으니 많은 관심 부탁드려요. [iOS] TLDR 개발 일지 - TLDR 앱 출시 앱스토어 등록 완료 앱스토어 등록을 완료했습니다~!! 앱스토어에 TLDR이라고 검색하면 저희 앱이 나와요 ㅎㅎ 링크는 https://apps.apple.com/kr/app/tldr/id6444666209 여기! PC는 아래 QR을 아이폰으로 인식하 jeong9216.tistory.com 키워드 ViewModel TLDR 앱에는 선택한 키워드를 TextView에 하이라이트 해주는 기능이 있습니다. 이 기능때문에 선택한 키워드를 Collection으로 관리해줘야 했어..
[iOS] TLDR 개발 일지 - TLDR 앱 출시
·
iOS 프로젝트/TLDR
앱스토어 등록 완료 앱스토어 등록을 완료했습니다~!! 앱스토어에 TLDR이라고 검색하면 저희 앱이 나와요 ㅎㅎ 링크는 https://apps.apple.com/kr/app/tldr/id6444666209 여기! PC는 아래 QR을 아이폰으로 인식하세요. TLDR 앱은 미리 앱 소개 포스팅도 했었는데요. (TLDR 개발 일지 - 앱 소개) 조금 더 편하게 개선하였으니 구경 한 번씩 해보세요. 피드백 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 감사합니다! 아직은 초보 개발자입니다. 더 효율적인 코드 훈수 환영합니다! 공감과 댓글 부탁드립니다.
[iOS] TLDR 개발 일지 - Summarize 화면 View 구현
·
iOS 프로젝트/TLDR
Summarize 화면 Summarize 화면은 요약 글의 키워드와 요약 글을 볼 수 있는 화면입니다. 요약 글에는 키워드가 하이라이트 처리되어 있는데요. 키워드 리스트 중 하나를 클릭하면 그 키워드만 하이라이트가 됩니다. Summarize 화면의 핵심 View는 상단의 키워드 리스트와 텍스트 하이라이트입니다. 텍스트 하이라이트는 UITextView 원하는 문자에만 색상 넣기(여러 개도 OK)에서 다루었기 때문에 여기에서 따로 작성하진 않을게요. 키워드 리스트 키워드 리스트는 키워드 길이마다 셀의 길이를 다르게 해줘야 합니다. 즉, 동적으로 셀의 길이를 결정해줘야 해요. 이 처리를 해주지 않으면 이런 웃긴 모양이 되어버려요 ㅋㅋ 그럼 어떻게 동적으로 셀의 크기를 결정해줄까요? 저는 UICollection..
[iOS] TLDR 개발 일지 - 홈 화면 기능 구현
·
iOS 프로젝트/TLDR
홈 화면 기능 구현 TLDR 홈 화면은 긴 글을 입력하고 버튼을 누르면 서버에 긴 글을 전송합니다. 오늘은 ViewModel 구현과 서버에 전송하는 부분에 대해 다루겠습니다. ViewModel 구현 홈 화면의 기능이 많지 않기 때문에 ViewModel도 그리 길지 않습니다. ViewModel은 구조체를 이용해서 구현했습니다. 상속, 객체 비교같은 클래스의 특성을 이용하지 않기 때문에 구조체를 이용했어요. 그리고 ViewModel에서 text 데이터를 가지고 있게 했습니다. 사용자가 text를 입력하면 updateText 메서드를 통해 해당 Observable의 데이터를 갱신합니다. text가 갱신되면 ViewController의 데이터 바인딩 부분에서 View를 업데이트 합니다. TextView에 tex..
[iOS] TLDR 개발 일지 - 홈 화면 View 구현
·
iOS 프로젝트/TLDR
서론 이번 포스팅은 홈 화면 View 구현에 대한 이야기입니다. 서버 통신 관련 내용은 다음 포스팅에 작성할게요. 이번 구현 내용에서도 MVVM에 대한 고민점이 포함되어 있습니다. ViewController를 View로만 사용한다는 게 직접 해보니 꽤 어렵네요... 이미 잘 되어 있는 MVVM 프로젝트를 참고하면서 하면 과정이 효율적일 수 있습니다만, 제가 직접 고민하는 과정이 사라질 거 같아서 일부러 보지 않고 있습니다. 혹시나... 궁금해하시는 분이 계실 거 같아서 ㅎㅎㅋㅋ 프로젝트가 작은 편이라 제가 먼저 한 번씩 고민해본 뒤에 모범 MVVM 프로젝트를 참고해서 다시 한 번 리팩토링을 할 계획입니다. 답답하셔도 조금만 참아주세요 ㅎㅎ 홈 화면 스크린샷 홈 화면 스크린샷을 먼저 보여드릴게요. 상단에 ..
[iOS] TLDR 개발 일지 - 구현(공통, 런치 화면 v2)
·
iOS 프로젝트/TLDR
MVVM Observable 구현 MVVM은 Observable을 이용해 구현했습니다. RxSwift, Combine도 있지만 일단 가장 기본적인 방법으로 구현해보고 싶었습니다. 프로퍼티 옵저버를 이용해 value가 변경되면 등록한 리스너를 실행합니다. 이렇게 MVVM의 데이터 바인딩을 구현하였습니다. 추후 RxSwift나 Combine을 이용해 리팩토링을 할건데 둘 중 무엇을 선택할지는 그때 상황을 봐야할 거 같네요. 웬만하면 프레임워크인 Combine을 선택하지 않을까 싶습니다. HttpError 구현 Http 에러 상황에 따라 catch를 다르게 하면 예외처리를 좀 더 세부적으로 할 수 있겠다고 생각했습니다. 그래서 HttpError라는 열거형을 구현했어요. 근데 명확하게 구현하는 게 무척 어렵더라..
유정주
'분류 전체보기' 카테고리의 글 목록 (16 Page)