안녕하세요. UserDefault를 사용할 일이 있었는데 기존에는 아래처럼 연산 프로퍼티로 구성해서 사용하고 있었습니다. var token: String? { get { return UserDefaults.standard.string(forKey: UserDefaultKey.token) } set { UserDefaults.standard.set(newValue, forKey: UserDefaultKey.token) UserDefaults.standard.synchronize() } } var adminCd: Int? { get { return UserDefaults.standard.integer(forKey: UserDefaultKey.adminCd) } set { UserDefaults.standar..
안녕하세요. 이번에는 RxSwift를 통한 MVVM 구현 과정에서 사용하면 좋은 Input Output 패턴에 대해 포스팅하겠습니다. Input Output 패턴을 사용하지 않아도 MVVM 구현이 안 되는 것은 아니지만 사용해본 결과 뷰에서 발생하는 이벤트는 Input 구조체에서, 뷰모델에서 비즈니스 로직을 통해 처리하고 가공한 데이터를 전달받는 부분은 Output 구조체에 작성되어 있어 굳이 코드를 다 읽어보지 않아도 한눈에 흐름을 알 수 있고, 협업할 때에도 다른 사람이 작성한 화면의 기능을 파악하기 쉽다는 장점이 있습니다. 간단한 기능을 통해 Input Output 패턴을 이용하여 MVVM을 작성해 보겠습니다. 아래는 github 사용자리스트 api를 이용해 사용자 목록을 받아와서 테이블에 보여주는..
안녕하세요. 이번에 동영상 스트리밍 관련 앱 (like 틱톡, 릴스, 인스타 스토리)을 만들다가 정보가 너무 없거나 잘못된 게 많아서 직접 개발하며 알게 된 것들을 소개해보려고 합니다. 음 먼저 HLS라는건 동영상 스트리밍을 위한 Http Live Streaming의 약자로, 이름에서 알 수 있듯이 범용적인 http를 통해 비디오를 전송하는 비디오 스트리밍 프로토콜입니다. 애플에서 개발했지만 안드로이드나 타 서비스에서도 사용 가능합니다. 숏폼 동영상 플랫폼을 개발하기로 했는데, 숏폼 동영상이라는 특성상 연속적으로 기다림 없이 빠르게 재생을 해야 될 필요가 있었고 HLS는 네트워크 상황에 따라 스트리밍 중 비디오 품질을 조정하는 기능이 있어서 네트워크 상황이 나빠도 끊김 없이 연속적인 재생이 가능했기 때문..
- Total
- Today
- Yesterday
- UserDefault
- ios 디자인패턴
- UserDefaultKey
- ios image caching
- ios 캐시
- swift mvvm
- MVVM패턴
- swift cache
- 프로퍼티래퍼
- ios 캐시메모리
- rxswift 없이
- 앱개발 디자인패턴
- swift 캐싱
- ios 패턴
- inputoutput패턴
- wrappedValue
- NSCache
- ios cache
- UserDefaults
- ios memory
- ios 유닛테스트
- ios 이미지캐싱
- rxswift안쓰고
- @propertyWrapper
- ios expectation
- api호출 unittest
- 연산프로퍼티
- SWIFT
- 아키텍처패턴
- 비동기 유닛테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |