TIL 6

2025.05.19 트러블 슈팅(RxSwift 개인과제)

문제 상황발생일시 : 2025.05.17발생환경 : Playground, Swift 5, macOS 사용기능 : MVVM 구현 실패문제 내용 : 설계 시 MVVM을 구현하려고 하여 ViewController와 ViewModel을 설계하였으나, ViewModel이 필요없어도 구현되어버림. 원인 분석MainViewController에서 DetailViewController에 필요한 데이터 바인딩 메서드를 사용하고 있었음.MainViewModel에서 DetailViewModel에 필요한 이벤트 방출 메서드를 사용하고 있었음. 해결과정책임 분리를 위해서 MainViewController의 didSelectItemAt 에서 화면전환 및 이벤트 방출DetailViewController 및 ViewModel로 데이터..

TIL 2025.05.19

[iOS]2025.05.12 RxSwift

ReactiveX : 비동기 프로그래밍과 옵저버 패턴을 사용하기 쉽도록 돕는 라이브러리.데이터의 변화에 반응하는 프로그래밍을 하게 되어 반응형 프로그래밍이라고도 함. Observable관측 가능한 대상, 이벤트와 데이터를 방출하는 클래스ObserverObservable을 구독(subscribe)하고 관찰하는 관찰자 ex) 나는 Observable에서 정수값이 방출되어 나오면, 그 값에 2를 곱해서 사용할래.import UIKitimport RxSwiftclass ViewController: UIViewController { // 구독을 끝낸 뒤 구독을 해제하기 위한 disposeBag. let disposeBag = DisposeBag() override func viewD..

TIL 2025.05.12

[iOS]2025.04.15 TIL

swift로 서버와 통신하는 코드 URLSessionJSON(JavaScript Object Notation) : key-value 형태를 가짐 predicate : 검색 또는 필터링을 목적으로 입력값들의 집합을 검사하는데 사용되는 논리적 조건식* 코드 복기하면서 자세히 알아보기.포맷팅 기호%@객체(주로 문자열 String)%d정수 Int%f실수 Double, Float%ldInt64%c문자 Character let name = "Aiden"let message = String(format: "안녕하세요, %@님!", name)print(message) // 안녕하세요, Aiden님!let age = 25let info = String(format: "나이는 %d살입니다", age)print(info) ..

TIL 2025.04.15