🌂 Design Pattern 디자인 패턴을 정하게 되면 모든 클래스와 속성을 구조적으로 정리가능하며 팀 작업 시 원활한 의사소통과 코드 수정이 가능하다. ❗️ MVC(Model-View-Controller) Model : 데이터에 관한 로직 담당(데이터 값 변경 및 관리) View : 사용자에게 보여지는 화면 담당(UI) Controller : Model 과 View 연결(Model 값을 View 에 보여줌) 오리지날 MVC 패턴은 iOS 개발에 적합하지 않아(Model,View,Controller 가 너무 밀접하게 연관) 애플에서는 CocoaMVC 패턴을 제시했다. Controller 가 View 와 Model 의 중재자 역할을 하여 View 와 Model 에 독립성 부여. 하지만 애플의 CocoaM..
notification 이 프로젝트 내에서 퍼져있기 때문에 이름이 가끔 겹치기도 하고 내가 무슨 이름을 사용했는지 기억이 안나기도 했다. 그래서 extension 으로 Notification.Name 을 확장시켜서 사용해보기로 했다. NotificaationName+Extention extension Notification.Name { static let testNotification = Notification.Name(rawValue: "test") } 사용할 때 // post NotificationCenter.default.post(name: .testNotification, object: nil) // observer NotificationCenter.default.addObserver(self, ..
이전글 : iOS) Coordinator pattern 적용해보자 - Basic 간단한 예제로 살펴보는 iOS Design/Architecture Pattern: Coordinator - Advanced 이번 실습 역시 위의 글을 참고했다. 👊 parent coordinator & child coordinator Basic 에서는 한개의 Coordinator 만 사용했었다. 그러다가 ‘용도별로, 화면별로 Coordinator 를 여러개 두고 사용할 수는 없을까?‘ 라는 생각에서 출발한 개념이 parent coordinator 와 child coordinator 이다. 두개 이상의 coordinator 를 사용할 때 위의 이미지처럼 parent 와 child coordinator 의 관계를 맺어서 사용할 ..
Coordinator pattern 을 알아보자 참고 간단한 예제로 살펴보는 iOS Design/Architecture Pattern: Coordinator - Basic [Swift] Coordinator Pattern (1/2) - 기본원리 위의 글을 참고해서 coordinator pattern 을 실습해보았다. 초기설정 👊 SceneDelegate.swift 삭제 App Delegate에서 Scene delegate 메서드 삭제 Scene delegate file 삭제 Info.plist에서 UIApplicationSceneManifest 삭제 AppDelegate에 var window:UIWindow? 추가 Scene delegate가 추가된 iOS 13이후에는 위 과정을 거치지 않으면 Coord..
UIView transition animation options 먼저 개발자문서를 살펴보자 transition(with:duration:options:animations:completion:) 특정 container 뷰의 transition animation 을 만드는 함수이다. animation 효과를 주기 위해서 파라미터 options 에 해당하는 UIView.AnimationOptions 옵션을 설정해주면 된다. 준비 Main.storyboard ViewController.swift import UIKit class ViewController: UIViewController { private var isInitialImage = true @IBOutlet weak var initialImageVie..
iOS 13 이후 - UISceneDelegate 객체를 사용하여 scene-based app 의 life-cycle 에 응답 앱이 scenes 를 지원하는 경우 UIKit 은 각각에 대해 별도의 life-cycle 이벤트를 제공. scene : 기기에서 실행되는 app's UI 의 한 인스턴스. app 에 대한 여러개의 scenes 을 만들고 별도로 보여주거나 숨길 수 있다. 왜냐면 고유한 life-cycle 이 존재하기 때문이다. 예를들어 한 장면은 foreground 에 있고 나머지 장면들은 background 혹은 일시중단 될 수 있다. Scene support 는 opt-in(선택적) 기능이다. Info.plist 파일에 UIApplicationSceneManifest 키를 추가하면 사용..
이전 게시글에서 Apple 소셜 로그인을 구현해 보았다. iOS) Apple Login 구현 앱에서 소셜 로그인을 구현할 때 애플만 할 수 없으니 카카오 로그인도 구현해보기로 하자. 디자인 가이드 애플 로그인과 동일하게 카카오도 역시 디자인 가이드가 있다. 여기서 PNG 파일을 다운로드 할 수 있다. Kakao Developers design-guide 그러면 본격적으로 시작하기전에 설정단계를 알아보자. 아래의 내용들은 카카오 개발자문서를 요약 + 실습이다. 👷♀️ 설정단계 1️⃣ 애플리케이션 등록 카카오 API는 개발자 웹사이트에 등록된 각각의 애플리케이션(이하 앱) 정보 기반으로 동작하므로, 카카오 API를 사용하려면 개발자 웹사이트에 앱을 등록해야 합니다. 앱 만들기 카카오 API 사용을 위해 개..
📌 Modal presentation style iOS 13 부터 default 값이 automatic 으로 변경되었다. automatic 은 대부분의 뷰컨트롤러의 경우 pagingSheet 스타일에 매핑된다. 📌 Life Cycle pagingSheet presenting view controller 가 뒤에 보이기 때문에 제거되지 않는다. currentContext, fullScreen presenting view controller 은 presentation 이 끝난 후 제거된다. overCurrentContext, overFullScreen presented view controller 의 아래의 뷰는 presentation 이 끝날 때 뷰 계층에서 제거되지 않는다. 따라서 불투명한 컨텐츠로 채우..
- rxswift
- 서버통신
- Protocol
- watchOS
- Algorithm
- github
- IOS
- MOYA
- configurable widget
- async/await
- OpenSourceLibrary
- MVVM
- WidgetKit
- Notification
- Firebase
- 2022 KAKAO TECH INTERNSHIP
- Swift
- WWDC
- Widget
- Objective-C
- WWDC22
- APNS
- RxCocoa
- containerBackground
- UserDefaults
- SwiftUI
- urlsession
- YPImagePicker
- projectsetting
- CloneCoding
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- Total
- Today
- Yesterday