---
title: VZVirtualMachineViewAdaptor
framework: virtualization
role: symbol
role_heading: Structure
path: virtualization/vzvirtualmachineviewadaptor
---

# VZVirtualMachineViewAdaptor

A sendable wrapper that connects a virtual machine view to a virtual machine.

## Declaration

```swift
struct VZVirtualMachineViewAdaptor
```

## Discussion

Discussion VZVirtualMachineViewAdaptor enables Swift 6 strict concurrency when using VZVirtualMachineView. Since VZVirtualMachine operates on a specific dispatch queue and is not Sendable, assigning it directly to virtualMachine would be a compiler error when crossing isolation boundaries. The adaptor holds a strong reference to the virtual machine, allowing you to  safely copy it  across actor boundaries. The following example demonstrates how to create and run a VZVirtualMachineViewAdaptor from the main actor.     // Create an adaptor from a virtual machine.     let adaptor = VZVirtualMachineViewAdaptor(virtualMachine: vm)

// Pass the adaptor to a view on the main actor.     await MainActor.run {         view.adaptor = adaptor     }

## Topics

### Initializers

- [init(virtualMachine:)](virtualization/vzvirtualmachineviewadaptor/init(virtualmachine:).md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Devices

- [VZGraphicsDevice](virtualization/vzgraphicsdevice.md)
- [VZGraphicsDisplay](virtualization/vzgraphicsdisplay.md)
- [VZMacGraphicsDevice](virtualization/vzmacgraphicsdevice.md)
- [VZVirtioGraphicsScanout](virtualization/vzvirtiographicsscanout.md)
- [VZMacGraphicsDisplay](virtualization/vzmacgraphicsdisplay.md)
- [VZVirtioGraphicsDevice](virtualization/vzvirtiographicsdevice.md)
