목록Swift (63)
study record
고차함수란? 다른 함수를 인자로 전달받거나 실행 결과를 함수로 반환하는 함수. map func map(_ transform: (Self.Element) throws -> T) rethrows -> [T] 시퀀스의 값들을 주어진 클로저에서 맵핑하여 그 결과를 포함하는 배열을 리턴한다. Return 값 : 시퀀스의 변형된 값들의 배열. Parameter : 맵핑 클로저. let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"] let letterCounts = cast.map { $0.co..
combinelatest func combineLatest(_ other: P) -> Publishers.CombineLatest where P : Publisher, Self.Failure == P.Failure 추가적인 publisher를 구독한다. 그리고 다른 publisher로부터 받는 output을 publish한다. Return 값은 자기 자신과 다른 publisher의 요소들을 받고 결합하는 publisher이다. 언제 사용하는가? 다양한 publisher들이 값을 방출할 때 가장 최근 값의 튜플을 받고자할 때 사용한다. 다만, publisher들이 값 하나만을 방출했다면 combined publisher는 값을 방출하지 않는다. 다양한 publisher들로부터 요소들을 짝짓고 싶다면 zip..
Combine을 어떻게 사용할 수 있는지 기본 예제를 정리해보면서 익혀보자! 기본 자료구조 활용 예제(with .sink) let publisher = [1, 2, 3, 4].publisher publisher .sink { (value) in print(value) } Sequence.publisher 를 활용하여 배열에서 .publisher 프로퍼티를 활용해 간단하게 배열의 publisher를 구성할 수 있다. .sink를 통해 이를 구독하여 값들을 받아 볼 수 있다. .assign class Dumper { var value = 0 { didSet { print("value was updated to \(value)") } } } let dumper = Dumper() let publisher = ..
iOS의 Combine은 Framework이다.이벤트를 처리하는 operators들을 결합함으로써 비동기 이벤트들을 커스텀하게 다룬다.iOS 13 이상에서 사용이 가능하다. OverviewCombine framework는 값을 처리하기 위한 선언형 Swift API를 제공한다. 이 값들은 많은 비동기 이벤트들을 표현할 수 있다. Combine은 시간에 따라 변화할 수 있는 값들을 내보내기 위해 publishers를 선언하고, publishers로부터 이 값들을 받기 위해 subscribers를 선언한다. - Publisher protocol은 시간에 따라 값을 연속으로 전달할 수 있는 타입을 선언한다. Publishers는 upstream publishers로부터 받은 값들에 행동하는 operators를..