Publishers.MapKeyPath

์ œ๋„ค๋ฆญ ๊ตฌ์กฐ์ฒด | ํ‚ค ๊ฒฝ๋กœ์˜ ๊ฐ’์„ ๋ฐœํ–‰ํ•˜๋Š” Publisher

์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํƒ€์ž…์˜ ํ‚ค ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•œ ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

map ์˜คํผ๋ ˆ์ดํ„ฐ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค.

struct SomeStruct {
  let property = "value"
}

Just(SomeStruct())
  .map(\.property)
  .sink(receiveCompletion: { completion in
    switch completion {
    case .failure:
      print("Combine MapKeyPath Error")
    case .finished:
      print("Combine MapKeyPath Finish")
    }
  }, receiveValue: { value in
    print("Combine MapKeyPath : \(value)")
  })
  .store(in: &cancellables)

// Combine MapKeyPath : value
// Combine MapKeyPath Finish

SomeStruct ๊ตฌ์กฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐœํ–‰ํ•˜๋Š” ์ƒ์œ„ Publisher๋กœ๋ถ€ํ„ฐ property ํ‚ค ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ’์— ์ ‘๊ทผํ•˜๊ณ  ๊ทธ ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•œ๋‹ค.

RxSwift

ํ•ด๋‹น ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

ReactiveSwift

ํ•ด๋‹น ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

Last updated

Was this helpful?