Как добавить данные в массив с помощью Behavior Relay / Subject в RxSwift? - PullRequest
1 голос
/ 30 марта 2020

Как я могу добавить данные массива в тип субъекта Поведение реле RxSwift Без замены данных раньше. Я пытаюсь добавить данные в UICollectionViewCell с привязкой его. Он всегда мигает белым дисплеем, потому что данные заменяют не добавлять, а использовать старые данные.

Мой код для добавления новых данных:

var photoCollectionView = BehaviorRelay<[PhotoList?]>(value: [])
let photoData = try? JSONDecoder().decode(SearchPhoto.self, from: RESPONSE_DATA)
photoCollectionView.accept(photoCollectionView.value + (photoData ?? []))

Или у вас есть другой способ сделать это

Спасибо за ваше решение: D

1 Ответ

0 голосов
/ 31 марта 2020

Проблема не в источнике Observable, это ваш наблюдатель, который должен измениться.

Источник данных по умолчанию просто делает collectionView.reloadData() каждый раз, когда источник излучает. Вам нужен источник данных, который добавляет и удаляет элементы. Вы можете импортировать библиотеку RxDataSources или написать свой собственный источник данных.

...