Это проблема:
subject.flatMap({ (value) -> String in
PublishSubject.just(value)
})
В первой строке вы сообщаете компилятору, что замыкание возвращает String
, но flatMap
требует, чтобы закрытие возвратило наблюдаемый тип.
Кроме того, к вашему сведению: a.flatMap { .just($0) }
фактически не используется. Другими словами: a
≣ a.flatMap { .just($0) }