Scan
scan 的基本用法
scan 的基本用法func scan<Result>(_ initialResult: Result, _ nextPartialResult: @escaping (Result, Output) -> Result) -> Publishers.Scan<Self, Result>与 reduce 的区别
reduce 的区别示例
import Combine
let numbers = [1, 2, 3, 4, 5].publisher
let cumulativeSumSubscription = numbers
.scan(0) { (currentSum, number) in
currentSum + number
}
.sink { cumulativeSum in
print("Cumulative sum: \(cumulativeSum)")
}
// 输出:
// Cumulative sum: 1
// Cumulative sum: 3
// Cumulative sum: 6
// Cumulative sum: 10
// Cumulative sum: 15使用场景
示例:状态跟踪
示例:累积数组
总结
Last updated