Avatar
Avatar
shiz
まだそこまで深掘りできていないんですが、 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
omochimetaru 4/12/2023 2:05 AM
追ってるけどめちゃくちゃ難しいですねこれ 疑問点の答えが全然見えてこない
😅 1