전체 글
프로그래머스 - 문자열 압축 Swift(구현)
https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 및 소스코드 입력은 최대 1000이니 시간복잡도는.. 그냥 잘라나가며 압축하고 개수를 세면 된다. import Foundation //문자열을 자르는 함수 func slice(_ n: Int, _ input: String) -> [String]{ var result = [String]() var tmp = "" for char in input{ tmp += String(char) //tmp가..
RxSwift(35). Driver, Signal
RxCocoa가 제공하는 Traits중에서 가장 핵심적인것은 Driver이다. Driver는UI를 Bind하는 직관적이고 효율적인 방법을 제공한다. Driver는 특별한 옵저버블이고 UI처리에 특화된 몇 가지 특징을 가지고 있다. 1. 에러메세지를 전달하지 않는다. 오류로 인해 UI처리가 중단되는 상황은 발생하지 않는다. 2. 스케쥴러를 강제로 변경하는 경우를 제외하고 항상 메인 스케쥴러에서 작업을 수행한다. 이벤트는 항상 메인스케쥴러에서 전달되고 이어지는 작업 역시 메인스케쥴러에서 실행된다. 3. 드라이버는 사이드이펙트를 공유한다. 일번옵저버블에서 쉐어연산자를 호출하고 .whileConnect연산자를 호출한것과 동일하다. 모든구독자가 시퀀스를 공유하고 새로운 구독이 시작되면 가장 최근에 전달된 이벤트가..
iOS - The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions(Rx 타입추론에러)
The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions Rx를 공부하다가 발생한 에러. combineLatest와 map을 사용하다가 발생했다. 타입을 추론하기 어려워 빌드할 수 없다는 내용 Observable.combineLatest([redSlider.rx.value, greenSlider.rx.value, blueSlider.rx.value]) .map{ UIColor(red: CGFloat($0[0]) / 255, green: CGFloat($0[0]) / 255, blue: CGFloat($0[0]) / 255, ..