RxSwift - Свързване на свойството на класа

Имам въпрос относно обвързването: имам масив от обекти от моя потребителски клас: Array. Всеки обект може да се актуализира (променя стойността на свойствата му) в бг. Също така отделих контролера, който взема и съхранява един обект от списъка като променлива и може да го актуализира (обектът все още е същият, така че в списъка също ще бъде актуализиран)

Има ли някакъв начин да обвържете всички object.property -> UILabels на контролера по начин, когато промените на свойството автоматично извикват актуализация на етикет?


person Viktor    schedule 10.04.2017    source източник


Отговори (1)


Разбира се, има много начини как да го направите, но от вашето описание бих използвал някакъв вид тема (защото казахте, че ще има промени във фона, така че вероятно ще ви е необходим горещ наблюдаем)....Например Променлива или PublishSubject . Така че можете да щайга

let myArrayStream: Variable<[MyObject]> = Variable([])

можете да предадете тази променлива като зависимост където пожелаете, от една страна можете да се абонирате за нея, от друга страна можете да актуализирате нейната стойност.

person beretis    schedule 10.04.2017
comment
И ако трябва да се абонирам за един обект от масив, трябва да използвам Variable<MyObject>? При предаване на един елемент от масив, нещо подобно: vcProperty: Variable<MyObject> = array.value[index]? Така че, ако променя vcProperty.prop, и двамата абонати (за vcProperty и масив) ще бъдат уведомени за това събитие, нали? - person Viktor; 10.04.2017