분류 전체보기
-
[맥주] 맥주 추천 어플 만들기(0) - 준비iOS 2021. 12. 23. 20:22
Device : 2021 M1 Macbook pro OS : macOS Monterey 12.1 Xcode : Version 13.1 (13A1030d) 이번에는 맥주 API를 이용해서 맥주 추천 어플을 만들어보려고 합니다. 결과물 예시는 아래와 같습니다. 준비물 Pods SwiftLint - 코드 규칙을 검사해주는 라이브러리. 이번 프로젝트는 Code convention을 지켜가며 코드를 작성해보기 위해서 Alamofire - 맥주 API 서버와 통신을 위한 라이브러리 SnapKit - 모든 UI를 Code로만 구현할 예정인데, 이때 constraint를 쉽게 작성하기 위한 라이브러리 맥주 API 사이트 Punk API 프로젝트 설정 Without Storyboard 처음이신 분은 Storyboard없..
-
[TMDB] CollectionView 레이아웃 만들기iOS 2021. 12. 23. 00:30
이전 글에 이어서, 왼쪽과 같이 만들기 위해서, 일단 레이아웃부터 잡아놨습니다. 초콜릿같네요.. navigationItem.titleView에 SearchBar을 넣고, 회색으로 된 부분은 collectionView의 Header부분입니다. collectionViewCell들의 Height을 safeArea를 기준으로 4등분한 크기로 설정하기 위해서, safeArea의 크기가 확정되어야만 했습니다. 그렇기에 collectionViewFlowLayout을 설정하는 코드를 viewDidLayoutSubviews()에 넣어주었다. viewDidLayoutSubviews 알아보기 를 통해서 자세한 내용을 공부할 수 있습니다 import UIKit class CollectionViewPractice: UIView..
-
[TMDB] API를 활용해 드라마 검색 어플 만들기 - 준비iOS 2021. 12. 22. 01:15
안녕하세요! miniOS입니다. 이번에는 TMDB(The Movie Database) API를 활용해서 드라마 정보를 검색하는 어플을 만들어 보려고 합니다. 🎯 참고 현재 듣고있는 교육(SeSAC)의 과제입니다. 스스로 구현 과정을 정리하기 위해 작성된 글입니다. 모든 UI를 코드를 통해서 작성합니다. MVVM 아키텍처를 처음 연습하는 프로젝트입니다. 구조가 부실할 수 있습니다. 준비 API TMDB 사이트에 들어가 회원가입을 진행합니다. 가입 후, 설정 > API에 들어가 API Key를 발급받습니다. 발급을 받을 때, 승인받는 형태가 아니라 편하게 폼을 작성해도 됩니다. TMDB API 사이트에서 여러가지 API에 대한 문서를 확인할 수 있습니다. 오른쪽에 있는 메뉴가 모두 TMDB API 목록입니다..
-
간단하게 URLSessioniOS 2021. 12. 21. 16:58
URLSession Session과 Task를 용도에 맞춰서 조합해 사용을 한다. URLSession.shared.dataTask() URLSession(configuration: .default).downloadTask() ... Session 단일 host에 가능한 최대연결개수, cellular 사용가능여부, 등과 같은 연결에 대한 정의를 하는 객체이다. 종류 Shared → Configuration이 존재하지 않아, 기본적이고 간단한 요청에 적합하다. Defualt → Shared와 비슷하지만, Configuration이 존재한다. Data를 축적해나가며 수신하는 delegate와 같은 동작을 구현할 수 있다. Ephemeral → 역시 Shared와 비슷하지만, cache, cookies, cre..
-
[Rxswift] 03.SubjectsiOS/RxSwift 2021. 12. 19. 21:03
이 게시글은 raywenderlich, RxSwift: Reactive Programming with Swift 책을 참고하여 작성한 글입니다. observerble은 RxSwift에서 필수적이지만, read-only이다. 할 수 있는것은, subscribe하고 그들이 생산하는 새로운 event를 알림받는것이다. observable과 observer의 역할을 모두 할 수 있는 것이 있는데, 바로 Subject 이다. 소개 example(of: "PublishSubject") { let subject = PublishSubject() // 1 subject.on(.next("Is anyone listening?")) // 2 let subscriptionOne = subject .subscribe(onNe..
-
[RxSwift] 02.Observables / rawiOS/RxSwift 2021. 12. 19. 01:17
What is an observable? *Observable* 은 Rx의 심장과도 같다. "observable", "observable sequence", "sequence"라고 Rx에서 서로 다른이름으로 불리는 것을 볼 수 있는데, 사실은 모두 같은 것이다. 때로는 다른 Rx 언어를 개발하던 사람이 "stream"이라고 불르는 경우가 있다. 사실 이것 또한 같은 것이다. RxSwift에서는 단 하나의 단어로 칭하는데, 바로 *Sequence* 이다. 결국 *Observable* 이란 sequence인데, 특별한 능력을 가진 sequence이다. 그 능력은 바로 *asynchronous* 이다. Observable은 시간의 흐름에 따라서 event를 생산하는데, 이것을 emtting이라고 부른다. Ob..
-
[RxSwift] 01.Fundamental / rawiOS/RxSwift 2021. 12. 19. 01:13
이 게시글은 raywenderlich, RxSwift: Reactive Programming with Swift 책을 참고하여 작성한 글입니다. *RxSwift, in its essence, simplifies developing asynchronous programs by allowing your code to react to new data and process it in a sequential, isolated manner*. RxSwift는 asynchronous programming 을 단순화해준다. 다른 여러가지 방법들 NotificationCenter delegate pattern Grand Centeral Dispatch Closure Foundation of RxSwift Observab..
-
[M1] raywenderlich RxSwift 플레이그라운드 오류 해결개발 환경/M1 Macbook 2021. 12. 17. 01:20
안녕하세요! miniOS입니다. M1 맥북으로 Cocoapod을 사용하다 보면 자주 보는 오류인 No such module의 해결방법 중 하나를 공유하겠습니다. 문제 M1 맥북에서 raywenderlich의 강의자료를 열었을 때 아래와 같은 오류가 발생할 가능성이 큽니다. No such module ‘RxSwift’ raywenderlich의 공식 Q&A게시판에서 이에 대한 해결책을 발견할 수 있었습니다. https://forums.raywenderlich.com/t/doesnt-the-latest-version-support-xcode12-in-macos-big-sur-with-m1/127762 [Doesn't the latest version support Xcode12 in MacOS Big Sur..