Avatar
Avatar
omochimetaru
全ての変更値が配列で受け取れて
↑この部分って↑のコードで現されてますかね?
まだそこまで深掘りできていないんですが、 ObservedChanges.Iterationのnextの中でnextChangeが呼ばれていて、 https://github.com/apple/swift/blob/main/stdlib/public/Observation/Sources/Observation/ObservedChanges.swift#L93 その中でinsertNextChangeが呼ばれて、さらにその中で各Stateによって処理が分かれるのですが、 https://github.com/apple/swift/blob/main/stdlib/public/Observation/Sources/Observation/ObservationRegistrar.swift#L312 Pending中は値をinsertしていて、 https://github.com/apple/swift/blob/main/stdlib/public/Observation/Sources/Observation/ObservationRegistrarStateMachine.swift#L54 来たるべきタイミングの時にcontinuation.resumeで変更した値を全部emitしているのではないか思っています。 https://github.com/apple/swift/blob/main/stdlib/public/Observation/Sources/Observation/ObservationRegistrar.swift#L323