У меня есть массив Int plublishers, изменяемый через сеть, и я хотел бы присвоить его сумму переменной. Пока что я подошел к следующему:
cancellable = Publishers.MergeMany(items.map { $0.$count } ).sink { value in
print(value)
}
Он печатает все значения, но на самом деле я хочу свести их все к одному значению, а затем назначить где-то еще. Но когда я пытаюсь уменьшить, что-то вроде:
cancellable = Publishers.MergeMany(items.map { $0.$count } )
.reduce(0){ counter, value in
counter + value
}.sink { value in
print (value)
}
, это больше не работает, значение никогда не печатается. Что я делаю не так? Спасибо
Изменить:
Кажется, это работает, но выглядит не очень эффективно
cancellable = Publishers.MergeMany(items.map { $0.$count })
.sink { _ in
let value = self.items.map { $0.count}.reduce(0) { counter, newValue in
counter + newValue
}
print(value)
}