Avatar
class Foo { var value: Int = 0 } actor Bar { private let foo: Foo var value: Int { foo.value } init(foo: Foo) { self.foo = foo // fooはこのactorのdomainで保持される } } Task { @MainActor in let foo: Foo = .init() let bar: Bar = .init(foo: foo) // fooがbarのdomainに転送される foo.value += 1 // ここでfooに触るとdata raceを引き起こし得るので前の行の転送がエラー print(await bar.value) } ↑こういう別のisolation domainに転送されて保持されるような話かな?