Вы можете использовать оператор dropFirst
. Без аргументов, он отбрасывает только первый вывод из апстрима.
let someSubscriber = foo.$bar
.dropFirst()
.sink { value in
print("value is \(value)")
}
Для решения проблем, поднятых в комментариях:
Каждая реализация Publisher
может решить, что делать с каждым новым подписчиком. Это политическое решение, а не недостаток дизайна. Разные Publisher
принимают разные решения. Вот несколько примеров:
PassthroughSubject
не публикует немедленно sh что-либо. CurrentValueSubject
немедленно публикует его текущее значение. NSObject.KeyValueObservingPublisher
немедленно публикует текущее значение наблюдаемого свойства, если и только если оно создано с опцией .initial
. Published.Publisher
(это тип, который вы получаете для свойства @Published
) публикует текущее Стоимость имущества сразу.