전체 글
-
학습할 내용끄적끄적 2022. 9. 23. 11:21
1. 자주 쓰이는 Third Party Libraries Flow RxSwift RxFlow RxViewBinder Reactor API Call Alamofire Moya Object Mapper SwiftyJson Crash Firebase Analytics Firebase Crashlytics UI / UX Texture KingFisher Lottie Skeleton SnapKit 2. Architectures Clean Architecture MVVM Pattern ( with Reactor) RIPS UnitTest Dependency Injection 3. Language Async await (Rx 를 잘 배워보면 굳이 필요하지 않을 수도 있음.. ) GCD (Grand Central Di..
-
현재 시각 구하기 (Date, String)Swift/Tips & Tricks 2022. 9. 7. 11:52
현재 시각 구하기. 1. Date Type func localDate() -> Date { let nowUTC = Date() let timeZoneOffset = Double(TimeZone.current.secondsFromGMT(for: nowUTC)) guard let localDate = Calendar.current.date(byAdding: .second, value: Int(timeZoneOffset), to: nowUTC) else {return Date()} return localDate } 2. String Type func getCurrentDateStr(dateFormat: String = "yyyy-MM-dd HH:mm:ss") -> String { let date = Date(..
-
SQL 기본카테고리 없음 2022. 9. 1. 01:06
mysql 사용시 접속 커맨드 mysql -u root -p 종료: 컨트롤 + d 기본 커맨드 데이트베이스 0. 데이터베이스 조회 show databases; 1. 데이터베이스 생성하기 CREATE DATABASE ; CREATE DATABASE cats 2. 데이터베이스 제거하기. DROP DATABASE ; 3. 데이터베이스 사용. USE ; 4. 현재 데이터베이스 조회 SELECT database(); 테이블 0. 테이블 조회 show tables; 0.1 TABLE COLUMN INFO 조회 DESC ; 1. 테이블 생성하기 CREATE TABLE ( data_type1, data_type2, ... ); CREATE TABLE people ( first_name VARCHAR(20), last_..
-
Unit Test 를 이용해서 Async API Call 테스트카테고리 없음 2022. 8. 9. 16:20
source Code func test_duplicateCheck() { var result:[String:Any]? let expectation = self.expectation(description: "calling duplicate check") APIManager.shared.requestDuplicateCheck(phoneNumber: "010-9041-7421", email: "dmammmm@naver.com") { response in result = response print("returned something from api call") expectation.fulfill() // Marks the expectation as having been met } waitForExpectatio..
-
iOS - Local Identifier, TimeZone Identifier ListSwift/Tips & Tricks 2022. 8. 1. 15:08
가끔.. 앱에서 설정한 Timezone 과 유저의 Timezone 설정이 달라 스케쥴 관련 기능에서 작동이 안될 때가 있다. 그럴 때는 날짜 / 시간 과 언어 / 지역, 그리고 코드 내 Local identifier, Timezone identifier 를 바꿔가면서 원인을 찾아보자~ Local Identifier List mrMarathi bsBosnian ee_TGEwe (Togo) msMalay kam_KEKamba (Kenya) mtMaltese haHausa es_HNSpanish (Honduras) ml_INMalayalam (India) ro_MDRomanian (Moldova) kab_DZKabyle (Algeria) heHebrew es_COSpanish (Colombia) myBurme..
-
RxSwift - API CallSwift/RxSwift 2022. 7. 26. 15:31
func fetchEvents(repo: String) { let response = Observable.from([repo]) .map { urlString -> URL in return URL(string: "https://api.github.com/repos/\(urlString)/events")! } .map { url -> URLRequest in return URLRequest(url: url) } .flatMap { request -> Observable in return URLSession.shared.rx.response(request: request) // this method returns 'Observable' // completes whevever your app receive t..
-
RxSwift Merge 이용해서 Event 묶기Swift/RxSwift 2022. 7. 20. 11:21
Observable.merge(self.node.passwordText.rx.controlEvent(.editingDidEndOnExit).asObservable(), self.node.loginButton.rx.tap.asObservable()) .map { Reactor.Action.login } .bind(to: reactor.action) .disposed(by: self.disposeBag) Observable.merge() 는 parameter 로 Observable 을 받음. .rx.controlEvent() 는 ControlEvent 를 return 하므로, ControlEvent -> Observable 로 바꾸어줘야함. ( .asObservable )
-
.filterNil, .filterEmpty ( RxSwift)카테고리 없음 2022. 6. 8. 16:00
.filterNil() Unwraps and filters out nil elements. .filterEmpty() Filter out empty occupiable elements (Occupiable Protocol 을 conform 해야 사용 가능하다) public protocol Occupiable { var isEmpty: Bool { get } var isNotEmpty: Bool { get } } public extension Occupiable { var isNotEmpty: Bool { return !isEmpty } }