Быстрое Объединение: Как я могу преобразовать `AnyPublisher <[Foo], *>` в `AnyPublisher`? - PullRequest
1 голос
/ 13 октября 2019

Как я могу преобразовать издатель массива определенного элемента в просто издателя указанного элемента (но с большим количеством событий)?

например, как я могу преобразовать

AnyPublisher<[Int], Never> вAnyPublisher<Int, Never>?

Я думаю, что то, что RxSwift предлагает с оператором from , похоже на то, что я хочу сделать.

Я полагаю, что я хочу получить обратнуюОбъединить collect?

Ответы [ 2 ]

2 голосов
/ 14 октября 2019

Вот код:

func example(publisher: AnyPublisher<[Foo], Never>) -> AnyPublisher<Foo, Never> {
    return publisher
        .map { $0.publisher }
        .switchToLatest()
        .eraseToAnyPublisher()
}
1 голос
/ 13 октября 2019

Что вы, вероятно, хотите сделать, это использовать FlatMap на издателе массива Foo, используя функцию, которая преобразует массив Foo в Observable из Foo (гдеfrom входит).

...