본문 바로가기

🍎 Swift80

[스터디11일차][RxSwift] Subscribe & Bind & Driver 공통점으로는 Observable이나 Driver의 데이터를 구독하거나, UI를 바인딩하는데 사용된다는 점이 있다하지만 각각의 목적과 동작 방식이 다르다  1.  Subscribe가장 기본적인 구독 메서드이며 onNext, onError, onCompleted를 가지고 있으며, 옵저버블의 이벤트 타입에 대한 직접 처리가 가능하다주로 데이터 스트림에서 변화를 감지하고 이벤트를 수동으로 처리할 때 사용한다 내부 로직을 보면 onNext, onError, onCompleted에 대한 처리를 하고 있다  2.  BindUI에 데이터를 바인딩할 때 사용되며 onNext만 가지고 있어, 에러를 방출하지 않는 옵저버블과 함께 사용된다주로 onNext 이벤트만 처리하며 에러 핸들링 로직을 가지고 있지 않다 → 오로지 U.. 2025. 1. 22.
[Swift🍎] URLSession 뜯어보기 1.  URLSession 이란?앱과 인터넷이 상호작용 할 수 있게 도와준다웹 페이지 데이터 가져오기 (HTTP GET 요청)서버에 데이터 보내기 (HTTP POST 요청)파일 다운로드 및 업로드백그라운드 네트워킹 작업  2.  기본 구성 요소URL: 네트워크 요청을 보낼 대상의 주소URLRequest: 네트워크 요청을 구성하는 객체. URL, HTTP 메서드(GET, POST...), 헤더, 본문(body) 등 설정URLSession: 요청을 보내고 응답을 처리하는 객체. 네트워크 작업의 중심URLSessionDataTask: URLSession에서 데이터를 가져오거나 보내는 작업의 단위  3.  사용 방법3-1.  간단한 GET 요청import Foundation// 1. URL 생성let url =.. 2025. 1. 17.
[Swift🍎] tableView, collectionView 식별자 간단하게 관리하기! 프로젝트 할 때마다 collectionView, tableView 식별자 만들고, 다시 갖다쓰는 과정이 번거로웠는데해결할 수 있는 간단한 방법을 알아냈다!!!!!! 👏🏻👏🏻   방법 1.  - 비추먼저 가장 기본적인 방법부터 설명하자면 식별자를 문자열로 설정하는 방법이 있다tableView.register(UITableViewCell.self, forCellReuseIdentifier: "MyTableViewCell")let cell = tableView.dequeueReusableCell(withIdentifier: "MyTableViewCell", for: indexPath)cell.textLabel?.text = "Hello Swift" tableView.register 등록 시 식별자를 문.. 2024. 10. 31.
[Swift🍎] RxSwift로 UITableView에 bind 하기 RxSwift와 MVVM을 활용해 TableView에 데이터 집어넣기기록용! 📝  먼저 MVVM 패턴에 대해서 간단하게 다시 짚어보기 [스터디5일차] MVVM 패턴MVVM이란?Model - View - ViewModel의 약자로 UI와 비즈니스 로직을 분리한다각각 특정한 역할을 담당하며 독립적으로 동작할 수 있게 만들어져 코드의 가독성이 높아지고 유지보수와 테스트를 쉽게 한solby.tistory.comModel : 데이터 구조 표현 및 처리ViewModel : View - Model 사이에서 데이터를 주고받는다(데이터를 가공)View : 사용자에게 보여주는 UI요소 처리(bind)  RxSwift로 TableView 생성하는 예시1.  Modelstruct Item { let title: St.. 2024. 10. 31.
[Swift🍎] RxGesture로 간편하게 View에 클릭이벤트 넣기 종종 StackView와 같이 터치 인터페이스와 관련없는 View 속성에 버튼을 넣고 싶은(넣어야 하는) 경우가 생긴다 보통 UITapGestureRecognizer를 사용해서 탭 제스처를 추가하는데,마침 이번 프로젝트에서는 RxSwift를 활용하고 있어서 더 간편하게 사용 가능한 RxGesture를 사용해 보았다  사용 방법1.  Xcode의 File > Add Package Dependency 메뉴를 선택하고 아래의 URL을 입력  →  https://github.com/RxSwiftCommunity/RxGesture GitHub - RxSwiftCommunity/RxGesture: RxSwift reactive wrapper for view gesturesRxSwift reactive wrapper.. 2024. 10. 17.
[Swift🍎] UIColor를 CGColor에 할당해야 하는 경우 사이드 프로젝트 진행 중 아래와 같이 UIColor를 CGColor로 할당해야 하는 경우가 있는데, 그 이유가 궁금해서 찾아보았다  먼저 두 가지 모두 색상을 나타내는 객체이지만 사용되는 환경과 목적에 따라 변환 유무가 결정된다  UIColor (UIKit 색상 객체)UIKit에서 제공하는 UI의 대부분의 시각적 속성에서 사용할 수 있다(ex. UIView, UILabel, UIButton...)OS와 iPad에 주로 사용되며, 다양한 기기 간 자동 색상 조정 및 다크모드 지원 같은 기능을 내장하고 있다let view = UIView()view.backgroundColor = UIColor.red  CGColor (Core Graphics 색상 객체)레이어 관련 속성에서 색상을 설정할 때 필요하다레이어.. 2024. 10. 16.