実際に変更されたかは関係ないの、そうか…という感じ。
--- 追記
そもそもdidSetが呼ばれていた。イベントが流れるのもそれはそうという感じ。
実際に変更されたかは関係なくdidSetが呼ばれるの、そうか…という感じ になるだけだけど。
--- 追記ここまで
import Combine enum SomeEnum { case some mutating func mutatingFunc() {} func nonmutatingFun() {} } struct SomeStruct { mutating func mutatingFunc() {} func nonmutatingFunc() {} } class SomeClass { @Published var someEnum = SomeEnum.some @Published var someStruct = SomeStruct() init() { print(""" --- enum --- """) var cancellable = $someEnum.sink { print("sink:", $0) } print("mutatingFunc") someEnum.mutatingFunc() print("nonmutatingFunc") someEnum.nonmutatingFun() print(""" --- struct --- """) cancellable = $someStruct.sink { print("sink:", $0) } print("mutatingFunc") someStruct.mutatingFunc() print("nonmutatingFunc") someStruct.nonmutatingFunc() } } SomeClass() // => --- // => enum // => --- // => sink: some // これはsinkした時点で流れるやつ // => mutatingFunc // => sink: some // => nonmutatingFunc // => --- // => struct // => --- // => sink: SomeStruct() // これはsinkした時点で流れるやつ // => mutatingFunc // => sink: SomeStruct() // => nonmutatingFunc