RxSwift Удалить элемент BehaviorSubject - PullRequest
0 голосов
/ 23 января 2020

У меня есть массив BehaviorSubject. я хочу удалить фотографию из этого массива по id.

я пробовал;

photosViewModel.favoritePhotos
            .observeOn(MainScheduler.instance)
            .map { photoList in
                photoList.filter { $0.id! != self.currentPhoto.id! } //remove currentPhoto
        }.bind(to: photosViewModel.favoritePhotos)
        .disposed(by: disposeBag)

1 Ответ

1 голос
/ 23 января 2020

Вы не можете "удалить элемент" из BehaviorSubject. Самое близкое, что вы можете получить, это вставить новый массив в тему (что приведет к тому, что он выпустит этот новый массив). Примерно так:

favoritePhotos.onNext(try favoritePhotos.value().filter { $0.id != currentPhoto.id })
...