본문 바로가기

✏️/iOS&Swift

(20)
[iOS] RxSwift Repository pattern - overall 요즘 RxSwift+MVVM을 공부하고 있다. 주로 공부는, 구글+유트브 검색을 하면서 다른 사람들의 코드를 읽어가면서 하는데.. 다 같은 RxSwift+MVVM이라고 적어놔도 구조가 다 다른 것을 발견했다..!! (동공지진..) 뭐 사람마다 약간씩은 다르게 코드를 짤 수 있다고 생각하지만, MVVM이라는 큰 패턴 아래, 과연 Clean Architecture는 무엇인지 궁금증이 생겼고, 검색해보았다. Github에 "Swift Clean Architecture"로 검색해보면, 이 레포지토리가 나온다. https://github.com/sergdort/CleanArchitectureRxSwift GitHub - sergdort/CleanArchitectureRxSwift: Example of Clean ..
[iOS] 내 프로젝트에 파이어베이스를 이용해서 Apple Login 붙이기 이전 글의 이어서, 오늘은 애플 로그인을 붙여보고 정리한 글을 포스팅 해보겠다. [iOS] 내 프로젝트에 파이어베이스를 이용해서 구글로그인 붙이기 (GoogleSignIn v. 6.xx) Demo 오늘은 구글 로그인 연결과 관련해서 만들어본 내용을 정리해본다. (서버 없이) 파이어베이스를 이용해서 구글 로그인을 하고자 한다면, 파이어베이스 콘솔을 등록하고, 1. GoogleService-Info.plis doitduri.me Demo 애플 로그인도 파이어베이스에서 OAuth 기반으로 로그인을 지원하고 있다. 그렇기 때문에, 저번 구글 로그인 때처럼 파이어베이스를 이용하면 비교적 간단하게 구현이 가능하지만, 애플 로그인은 좀 까다롭게(?) 몇 가직 더 설정 해줘야하는 부분이 있다. (( 코딩하는 부분보다 ..
[iOS] 내 프로젝트에 파이어베이스를 이용해서 구글로그인 붙이기 (GoogleSignIn v. 6.xx) Demo 오늘은 구글 로그인 연결과 관련해서 만들어본 내용을 정리해본다. (서버 없이) 파이어베이스를 이용해서 구글 로그인을 하고자 한다면, 파이어베이스 콘솔을 등록하고, 1. GoogleService-Info.plist 파일 추가와 2.Authentication 탭에서 구글을 활성화 3. 프로젝트에 구글 로그인 설치를 해야한다. 콘솔 등록을 완료하면, plist 파일을 다운 받을 수 있다. 이 파일은 프로젝트의 상단에 위치시켜주자. 파일 업로드를 완료하였으면, REVERSED_CLIENT_ID 값을 URL Type schema 에 붙여넣어주자. 이 작업은, 구글이 권한을 위임할 앱을 구분하기 위해서 설정해주는 작업으로 각 앱 서비스(e.x. 페이스북, 트위터 등)마다 모든 다른 값을 가지고 있다. 그리..
[iOS] Life-cycle ViewController Life Cycle -> View 객체를 관리하는 메소드, iOS 시스템에 의해 자동으로 호출됨 1. Appearing : 뷰가 화면에 나타내는 중 2. Appeard : 뷰가 화면에 나타나는게 완료 된 상태 3. Disappearing : 뷰가 화면에서 사라지는 중 4. Disappeared : 뷰가 화면에서 사라진 상태 ### viewDidLoad() - 뷰 컨트롤러의 모든 뷰들이 메모리에 로드 되었을 때 호출 - 메모리에 처음 로드될 때 한 번만 호출 - 보통 딱 1번 호출될 행위들을 이 메소드 안에 정의 함 - 뷰와 관련된 추가적인 초기화 작업, 네트워크 호출 ### viewWillAppear() - 뷰가 뷰 계층에 추가되고, 화면에 보이기 직전에 매번 호출 - 다른 뷰..
[iOS] UIKit-Training/QuoteGenerator iOS 기초 부분을 정리하면서 간단하게 정리한 note Cocoa touch Frameworkd iOS 개발환경을 구축하기 위한 최상위 프레임워크 object C / swift에서 상속해서 사용하는 UIKit 파운데이션 클래스 객체들이 cocoa touch 에 해당 UIKit, Foundation Foundation : 자료구조, 네트워크, 타이머, 파일관리 등 기본적인 프로그램의 중심 UIKit : 사용자의 인터페이스를 관리, 이벤트를 처리하는데 주 목적인 프레임워크 제스쳐처리, 애니메이션, 테이블뷰, 버튼, 텍스트필드 등 어플리케이션의 화면을 구성하는 요소들도 포함되어 있음 명언 생성기 버튼을 누를 때마다 새로운 명언들이 나오는 앱 기능 - Storyboard - AutoLayout - UILabel..
[iOS][Swift] Stanford 2021 CS193p class Notes 2021 스탠포드 CS193p 강의를 듣고, 공부하면서 기록한 class note. (강의 유투브 주소 : https://www.youtube.com/playlist?list=PLpGHT1n4-mAsxuRxVPv7kj4-dQYoC3VVu) ** 강의 진행 중 실습한 프로젝트 코드는 github 참고 - commit description Lecture 1 Xcode, iOS, Swift 전반에 대한 설명 (필기X) Lecture 2 https://github.com/doitduri/study-stanford/tree/lecture/2 Lecture 3 https://github.com/doitduri/study-stanford/tree/lecture/3 Lecture 4 https://github.com/..
[iOS][SwiftUI] VIPER(바이퍼) pattern - TodoList 본 글은 viper 패턴의 다음편으로, 응용편에 해당합니다. 또한 이 글은 블로그 예제를 따라해보면서 알아간 것을 정리한 글입니다. [iOS] VIPER(바이퍼) pattern - overall 아키텍처라고 하믄, MVC나 MVVM 패턴 정도만 알았는데... 머..머시ㅣ?! VIPER?!! ... iOS 개발을 하는데 있어서, 효율적으로 개발하기 위해 많은 design pattern들이 등장했습니다. 대표적으로 MVC, MVVM, MVP 등. doitduri.me 저번 글을 통해 VIPER 패턴에 대해 알아보았다면, 이번에는 TodoList 예제를 통해 실제로 사용해보겠습니다. 들어가기 앞서, VIPER 패턴을 다시 짚어보면 다음과 같습니다. VIPER 패턴 - View : UIViewController..
swift 기초 note 2021. 8. 10. swift 기초 문법 (bear 필기본 공유) Optional 해제 방법 명시적 해제 강제 해제 비강제 해제 (옵셔널 바인딩) 묵시적 해제 컴파일러에 의한 자동 해제 옵셔널의 묵시적 해제 옵셔널을 강제로 해제 할 때, nil인 경우 컴파일 단에서 강제 종료됨 guard 문에서는 옵셔널 바인딩 후 해당 함수 내에서 전체 사용가능 옵셔널은 비교연산자를 통해 하면 자동으로 옵셔널 해제하고 비교 연산자 함 let value: Int? = 6 if value == 6 { print(“value = 6”) } else { print(“value !=6”) } ``` >> value = 6 구조체는 upper camel case 인스턴스 생성을 통해 프로퍼티 값을 초기화 ### class 초기..