iOS/문법

[iOS, Swift] Swift 문법 Reduce 예제

검은참깨두유vm 2023. 2. 7. 22:36
반응형

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다.

 

컨테이너에서 사용할 수 있는 Reduce 함수는 두가지 종류가 있습니다.

initialResult와 nextPartialResult를 쓰는 함수는 

초기값이 initialResult에 들어가고 nextPartialResult에 값이 업데이트 되는 함수입니다.

let sum1 = [1, 2, 3].reduce(0) { partialResult, next in
    // partialResult = 0, next = 1
    // partialResult = 1, next = 2
    // partialResult = 3, next = 3
    return partialResult + next
}

결과로는 sum1 변수에 6이 저장됩니다.

 

 

into 값을 쓰는 reduce에서는 위와 같이 partialResult를 반환하지 않고, updateAccumulatingResult에 값이 업데이트가 됩니다.

let sum2 = [1, 2, 3].reduce(into: 0) { updateAcculatingResult, next in
    // updateAcculatingResult = 0, next = 1
    // updateAcculatingResult = 1, next = 2
    // updateAcculatingResult = 3, next = 3
    updateAcculatingResult += next
}

결과로는 sum2 변수에 6이 저장됩니다.

반응형