iOS
-
spotify 로그인 구현iOS/패스트캠퍼스(앱제작) 2022. 5. 15. 16:23
1. 기본 UI구성 더보기 - LoginVC import UIKit class LoginViewController: UIViewController { @IBOutlet weak var emailLoginBtn: UIButton! @IBOutlet weak var googleLoginBtn: UIButton! @IBOutlet weak var appleLoginBtn: UIButton! override func viewDidLoad() { [emailLoginBtn, googleLoginBtn, appleLoginBtn].forEach { $0?.layer.borderWidth = 1 $0?.layer.borderColor = UIColor.white.cgColor $0?.layer.cornerRadius..
-
Completion Handler / ClosureiOS/iOS개념정리 2022. 5. 15. 15:32
클로저란 우리는 함수를 정의할떄 func 이라는 키워드를 이용해 정의해왔다. 클로저는 함수와 동일한 기능을 하되, func키워드와 함수명이 없는 함수이다. 흔히들 익명함수라고 부르기도 한다. 클로저의 기본 문법에 대해 먼저 살펴보도록 하자. { (parameters) -> Return Type in body } () 사이에 인자를 받고 ->를 통해 반환 타입을 명시한다. 이후 in 키워드 뒤에 나오는 부분이 실행할 코드를 기재하는 클로저의 몸체 부분이다. Func vs Closure 함수와 클로저의 차이점에 대해 간단히 살펴보도록 한다. Function func 키워드를 통해 정의한다. 이름을 갖는다. in 키워드가 존재하지 않는다. Closure func 키워드가 존재하지 않는다. 이름을 갖지 않는다...
-
코로나 현황판 앱iOS/패스트캠퍼스(앱제작) 2022. 5. 8. 17:43
1. api를 호출, 시도별 코로나 신규 확진자 수를 파이차트로 표시 2. 차트의 도시항목 클릭 -> 상세 현황 보기 - 굿바이 코로나 19 API - Alamofire : http통신방법 - Cocoapods: 외부 라이브러리를 관리하기 쉽게 도와주는 의존성관리 도구 Alamofire란 - 스위프트 기반의 HTTP네트워킹 라이브러리 - 네트워킹을 위한 다양한 메소드, json파싱 제공 -> 작업 단순화 특징) 1) request, response 메소드 제공 2) json형태의 파라미터 인코딩 지원 3) 파일 데이터스트림 등 업로드 기능 제공 URLSession 대신 Alamofire를 사용하는 이유 - 코드의 간소화, 가독성 측면에서 유리. 여러 기능을 직접 구축하지 않아도 쉽게 사용 가능 URLSe..
-
-
날씨 앱iOS/패스트캠퍼스(앱제작) 2022. 5. 8. 13:43
1. 도시 이름 입력 -> 현재 날씨 정보를 가져와 화면에 표시 2. 도시이름 잘못 입력 -> 서버로부터 응답받은 에러 메시지를 alert으로 표시 - Codable - Current Weather API - URLSession URLSession을 이용한 HTTP통신 URLSession - 특정 url을 이용하여 데이터를 다운로드 하고 업로드 하기 위한 API (앱에서 서버와 통신하기 위해 제공하는 API) - 탭 또는 창 당 하나의 URLSession을 생성 (URLSessionConfiguration을 통해 생성) -> 특정 url에 대한 요청을 나타내는 일련의 작업 추가 - request, response 가 기본 구조 - request: 서버로 요청 보낼때 어떤 http메소드를 사용할 것인지,..
-
타이머 앱iOS/패스트캠퍼스(앱제작) 2022. 5. 8. 13:41
주요기능 1. DispatchSourceTimer : 반복적 주기로 특정 작업을 수행 (핸들러 호출) - Timer클래스 로도 구현 가능 - GCD api내의 DispatchSourceTimer 메소드로 구현함 2. UIView Animation - view의 알파값을 조정하여 뷰가 사라지고 표시될때 자연스럽게 이동 - 이미지가 회전하도록 구현 // // ViewController.swift // pomodoro // // Created by YANG on 2022/05/06. // import UIKit import AudioToolbox enum TimerStatus { case start case pause case end } class ViewController: UIViewController {..
-
[iOS] Delegate, Notification, KVO 비교 및 장단점 정리iOS/iOS개념정리 2022. 4. 20. 23:10
언제, 어디서 써야할까? 위의 세 가지는 iOS를 만들다 보면 자주 나오는 패턴들이다. 또 Key Value Observing(KVO)를 제외하면 나머지 두 가지는 매우 자주 사용했던 경험이 있다. 대부분의 경우 View와 ViewController 간, 또는 각각의 것들 사이에서 소통이 필요할 때 사용하였다. 조금씩 사용하는 방법에 차이가 있을뿐 사용하는 메커니즘은 비슷하다. 어떤 이벤트가 A에서 일어나면 B에 알려주어 적절한 조치를 취한다. 그러나 언제, 어디서 무엇을 사용하면 좋을지에 대해서는 제대로 알지 못하여 잘 몰랐던 KVO를 포함하여 이번 주제로 잡게 되었고 When to use delegation, notification, or observation in iOS을 번역하는 형식으로 공부하였..
-
일기장 앱iOS/패스트캠퍼스(앱제작) 2022. 4. 20. 21:37
1. 일기장 작성/수정 - 유효성검사: 세가지 항목이 모두 작성되어야 Done버튼 활성화 - notification center 2. 일기장을 등록 할때마다 첫번째화면(UICollectionView)에 추가 - delegate패턴 3. 일기장 삭제 - delegate 패턴: detailViewController에서 삭제 전달 -> UICollectionView에서 삭제 구현 - notification center 패턴: 4. 즐겨찾기 기능 - fiter고차함수 활용 1. 일기장 작성 / 수정 - 유효성 검사 textView는 UITextViewDelegate를 통해 값 변화 감지 - notification center를 통해, DiaryDetailViewController에서 수정 버튼..