본문 바로가기

전체 글

(180)
[SwiftUI] Property Wrapper - @Published, @ObservedObject, @StateObject, @EnvironmentObjec 안녕하세요! :) 오늘은 저번 글에 이어서 Property Wrapper에대해 알아보도록 하겠습니다! @ObservedObject " 관찰 가능한 객체를 구독하고 관찰 가능한 객체가 변경될 때마다 view를 무효화하는 속성 래퍼 유형입니다" 앗,, ObservedObject는 OverView가 없네요.. 구글링 합시당! - SwiftUI는 @ObservedObject를 통해 view가 외부 객체를 감지하게 해줌 - @State는 특정 view에만 사용하는 프로퍼티였다면 ObservedObject는 더 복잡한 프로퍼티(여러 메소드 & 여러 view에서 공유할 수 있는 커스텀 타입이 있는경우)에 사용 - String이나 integer 같은 간단한 로컬 property대신 외부 참조 타입(external re..
[RxSwift] Traits [Single, Completable, Maybe] 안녕하세요 소진입니당🐶이번에는 Traits에대해 알아보도록 하겠습니다! Traits 란?Traits는 Observable을 제한적인 기능만으로 create하고 싶을 때 사용합니다. 아래 이미지처럼Observable에서 파생된 것이 Traits이라 생각하면 됩니다! Triats를 왜 사용할까요? Observable을 생성하게 되면 구독자가 subscribe하여onNext, onError, onCompleted등의 이벤트를 제어했었죠? 그런데 이런 이벤트들을 상황에 따라 굳이 모두 사용하지 않아도되는 경우가 발생할 수 있습니다. 만약,저희가 그냥 Observable로부터 성공 여부만 받고 싶은 경우라면굳이 onCompleted 이벤트도 필요 없고onNext를 통해 인자를 전달 받기에도 조금 과할 수도 ..
[RxSwift] Observable 연산자 [disposable, create, deferred] (2) 안녕하세요 소진입니다 :o이번에는 저번 포스팅에 이어서 Observable 연산자에 대해 알아보도록 하겠습니다!disposabledispose은 구독 취소하는 개념과 동일합니다.Observable이 모든 요소들을 방출하고서 onCompleted까지 방출이 됐다면더이상 해당 Observable을 구독할 이유가 없겠죠? 그때, 아래 코드처럼.dispose() 연산자를 이용하여 구독 취소할 수 있습니다.Observable.just(100).subscribe(onNext: { element in print(element)}).dispose()하지만위의 코드처럼 직접 하나하나 시퀀스를 .dispose()를 통해구독 취소를 하는건 너무 번거롭겠죠..? 그럼이 부분을 해결해 줄DisposeBag에 대해 알아봅시..
[RxSwift] Observable 연산자 [just, of, from, range, empty, never] (1) 안녕하세요 소진입니다 :)이번 글에서는 Observable 연산자에대해 알아보도록 하겠습니다!Observable에대해 모른다면 [RxSwift] Observable과 subscribe 글을 참고해주세요ㅎㅎObservable 생성 연산자우선 Observable을 생성하는 연산자는묶어서 알아보도록하겠습니다! ✔️ just✔️ of✔️ from 대표적인 생성 연산자는 위와 같습니다.차근차근 하나씩 알아봅시다 :) 좀 더 섬세한 컨드롤이 필요하다면 create를 이용하여 생성할 수 있음 just just는 아래 마블 이미지로도 확인 가능하듯이 오직 하나의 요소를 방출시키고끝나는 ObservableType 프로토콜의 TypeMethod 입니다. 사용방법 just는 단 하나의 요소만 방출시키기 때문에.j..
[RxSwift] Observable과 subscribe 안녕하세요 소진입니다 :)이번에는 Observable과 subscribe에 대해 알아보겠습니당ㅎㅎ 🤔 Observable ?Observable의 사전적 의미는 "관찰 가능한" 입니다.해당 의미처럼 시간 흐름에 따라서 이벤트를 방출할 수 있는 동시에구독자들이 그 이벤트를 관찰하는 역할을 합니다. 또한 Observable은 비동기적이라고하는데,Observer에 의해 임의의 순서에 따라 병렬로 실행되고 결과는 나중에 연산되기 때문입니다. 즉, 하나의 코드 블럭이 실행 결과를 리턴할때까지 기다리지않고계속해서 다음 코드 블럭을 실행하며한번에 여러개의 코드를 실행 시키는 방식으로 진행됩니다. Subscribe(구독)Observable과 빼놓을 수 없는 짝꿍! subscribe은 무엇일까요? Observable..
[RxSwift] RxSwift 란? 안녕하세요 소진입니다 :D오늘은 아주아주 중요한 RxSwift에대해서 알아보도록하겠습니다! 저도 아직 지식이 부족하기도 하고 계속 공부하면서 채워나갈 예정이니틀린 부분이 있으면 댓글로 알려주시면 정말정말 감사하겠습니다:) 🫶🏻 Swift를 공부하는 사람이라면무조건 한 번쯤은 꼭 들어본다는 RxSwift!!!! 러닝커브(사전 지식이 많이 필요함)가 만만치 않다고 하기도하고,뭔가 구성이 복잡해보여 접근하기 어렵지만!도망다니기만 할 수는 없으니!같이 한 번 부딪혀 봅시다! 일단, RxSwift가 뭐야? 🤔 ReactiveX에서 만든 라이브러리로써Reactive eXtension + Swift의 합성어입니다. 흔히 RxSwift를관찰 가능한 시퀀스(sequence)를 사용하여비동기 프로그램, 이벤트 기..
[iOS] 함수형 프로그래밍 (Function Programming) 안녕하세요! 오늘은 함수형 프로그래밍에 대해서 알아보도록 하겠습니다! Swift는 다중 패러다임 프로그래밍 언어이며, 아래와 같은 프로그래밍 패러다임을 차용하고 있습니다. - 명령형 프로그래밍 패러다임 - 객체지향 프러그래밍 패러다임 - 함수형 프로그래밍 패러다임 - 프로토콜 프로그래밍 패러다임 아주 다양하죠? Swift가 함수형 프로그래밍 패러다임을 차용한 이유를 살펴 봅시다! 함수형 프로그래밍 🤔 프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 프로그래밍을 말합니다. 값이나 상태의 변화 보다는 함수 자체의 응용을 중요하게 여깁니다. 객체 대신 수 많은 함수들이 존재하고 함수끼리 값을 주고 받으면서 나오는 결과가 함수형 프로그래밍의 세계입니다. 명령형 프로그래밍 함수형 ..
[iOS] OOP(객체지향 프로그래밍)과 POP(프로토콜지향 프로그래밍) 안녕하세요~ 소진입니다 :) 오늘은 OOP(객체지향 프로그래밍)와 POP(프로토콜지향 프로그래밍)에 대해 알아보도록 하겠습니다! 일단, OOP에 대해 알아보기전에 기본 용어부터 알아볼까요? Object & Class/Struct & Method & instance 객체란, 하나의 역할을 수행하는 데이터(상태)와 메소드(행위)의 묶음입니다. 음.. 객체가 데이터와 메소드로 구성되어있다? 정도만 이해가고 감이 잘 안 잡히죠??? 객체와 클래스&구조체, 인스턴스를 설명하는 가장 유명한 예시로는 설계도와 붕어빵이 있습니다. 클래스 - 설계도 , 붕어빵 틀 인스턴스 - 제품 (할당된 변수?), 붕어빵 위와 같이 설명을하죠! 하지만, 저는 아무리 들어도 정확히 와닿지가 않았어요ㅠ 그래서, 열심히 찾아보고 이해해보았..