본문 바로가기
반응형

전체 글94

[RxSwift] Disposable var disposebag = DisposeBag() Disposable 리소스를 해체하고, 이벤트 구독을 중지하는것 리소스 낭비방지와 불필요한 이벤트 수신을 하지 않기 위해서 사용 Observable.from([1,2,3]).subscribe(onNext: { elem in print("Next",elem) },onError: {error in print("에러:",error) }, onCompleted: { print("Completed") }, onDisposed: { print("Disposed") } ) //-------------- Observable.from([1,2,3]).subscribe{ print($0) } 두번째는 왜 리소스 해체가 되지 않은걸까? 그 이유는 onDisposed는 O.. 2023. 9. 14.
[RxSwift] Observable Observable.create{ (observer) -> Disposable in observer.on(.next(0)) observer.onNext(1) observer.onCompleted() return Disposables.create() } Observable, Observer, Subsribe Observable은 이벤트를 전달 Observer는 Observable를 감시하고 있다가 전달되는 이벤트를 처리 Observable를 감시하는 것을 Subsribe라 표현(구독한다) Observable은 3가지 이벤트를 전달 Next : 새로운 항목이 방출될 때 마다, Next클로저 호출 이때, 방출된 항목은 클로저의 파라미터로 받는다. Completed : 이벤트가 종료되었을 때, 옵저버에게 이벤트.. 2023. 9. 14.
객체지향, 함수형, 반응형 프로그래밍 프로그래밍 패러다임 프로그래밍 스타일을 의미하며, 전체적인 프로그래밍 방식을 의미한다. 패러다임의 뜻은 (세계를) 이해하는 방식, 인식틀을 의미한다. 객체 지향 프로그래밍(OOP) 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객채로 만들고, 그 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 방법 장점 코드 재사용 용이 -> 남이 만든 클래스를 가져와서 이용할 수 있고, 상속을 통해 확장해서 사용 가능 유지 보수 쉬움 -> 수정해야할 부분이 클래스 내부에 맴버 변수혹은 메서드로 존재하기 때문에 유지보수 쉬움 대형프로젝트에 적합 -> 클래스 단위로 모듈화시켜서 개발할 수 있으므로 업무 분담하기 쉬움 단점 처리 속도가 상대적으로 느림 객체가 많으면, 용량이 커질 수 있음 설계시 많은 시간과 노력이 필.. 2023. 9. 11.
MVVM in iOS MVVM in WPF (MVVM의 역사) MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했다. XAML (Extensible Application Markup Language) 디자이너를 위한 UI 개발환경 프로그래밍이 필요한 요소를 줄임 선언적인 UI 작성가능 ViewModel in WPF UI에 표시할 상태와 로직을 작성 UI에서 발생한 이벤트(버튼클릭등)를 위임받아 처리 ViewModel에서 발생한 변경을 UI에 반영 전통적인 개발자보다 디자이너를 위한 UI 개발환경 제공 기존 XML, HTML 보다 쉬운 XA.. 2023. 9. 4.
[Swift] Protocol 프로토콜 [1] 프로토콜 Protocol 이란? 특정 역할을 하기 위한 메소드, 프로퍼티, 기타 요구사항등의 청사진 프로토콜의 사용 구조체, 클래스, 열거형은 프로토콜을 채택해서 특정 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현 할 수 있다. 프로톨클은 기능을 정의하고 제시 할 뿐, 스스로 기능을 구현하는 것은 아니다 (조건만 정의) 스위프트에서 프로토콜은 하나의 타입으로 사용된다. 파라미터나 리턴타입으로 사용 프로퍼티, 변수, 상수의 타입으로 사용 배열 등 컨테이너 요소의 타입으로 사용 프로토콜의 형태 protocol Student{ var name: String {get} var grade: Int {get set} static var Number: Int {get set} } 프로토콜의 요구사항 프로퍼티.. 2023. 9. 1.
[Swift] struct, class, enum struct, class, enum 스위프트의 기본 자료구조 블럭이다. 세가지 모두 같은 방식으로 정의 된다. class jife { } struct jife{ } enum jife{ } 구조체와 클래스는 프로그래머가 데이터를 용도에 맞게 묶어 표현하고자 할 때 용이하다. 스위프트에서는 구조체와 클래스의 모습과 문법이 흡사하다. 하지만, 구조체struct와 enum의 인스턴스는 값 타입이고, 클래스class 의 인스턴스는 참조 타입이다. 구조체 struct 값 타입이란? 힙을 전혀 사용하지 않고 Stack에만 값이 쌓인다는 것이다. 또한 값 타입이기에, 힙을 사용하는 class보다 더 빠르다. 상속은 불가하나, 이니셜라이저를 자동으로 만들어준다. 구조체는 memberwise init을 통해 자동으로 초기.. 2023. 8. 31.
반응형