<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RoomPlan",
  "identifier" : "/documentation/RoomPlan/RoomCaptureViewDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "RoomPlan"
    ],
    "preciseIdentifier" : "s:8RoomPlan0A19CaptureViewDelegateP"
  },
  "title" : "RoomCaptureViewDelegate"
}
-->

# RoomCaptureViewDelegate

A specification to post-process the results of a scan.

```
protocol RoomCaptureViewDelegate : NSCoding
```

## Overview

The room-capture view’s delegate property ([`delegate`](/documentation/RoomPlan/RoomCaptureView/delegate)) is of this type.

When your app scans a room using the framework-provided view ([`RoomCaptureView`](/documentation/RoomPlan/RoomCaptureView)), your delegate receives the raw scan results through the `roomDataForProcessing` argument of [`captureView(shouldPresent:error:)`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(shouldPresent:error:)).

If your app returns `true` to [`captureView(shouldPresent:error:)`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(shouldPresent:error:)), the framework processes the raw results and calls [`captureView(didPresent:error:)`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(didPresent:error:)) when processing completes.

## Topics

### Post-processing scan results

[`func captureView(shouldPresent: CapturedRoomData, error: (any Error)?) -> Bool`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(shouldPresent:error:))

Indicates whether the app processes raw scan results immediately after a scan session stops.

[`func captureView(didPresent: CapturedRoom, error: (any Error)?)`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(didPresent:error:))

Provides the delegate with the processed scan results as the view presents them.

### Default implementations

[`func captureView(shouldPresent: CapturedRoomData, error: (any Error)?) -> Bool`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(shouldPresent:error:)-5l74q)

Indicates that the app receives and displays post-processed scan results when the scan session stops.

[`func captureView(didPresent: CapturedRoom, error: (any Error)?)`](/documentation/RoomPlan/RoomCaptureViewDelegate/captureView(didPresent:error:)-6em1r)

Provides a default, blank implementation for the processed scan-results callback.

## Relationships

### Inherits From

[`NSCoding`](/documentation/Foundation/NSCoding)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)