<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macCatalyst: 17.4.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Assignables",
  "identifier" : "/documentation/Assignables/AssignableDocument/Question",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Assignables"
    ],
    "preciseIdentifier" : "s:11Assignables18AssignableDocumentV8QuestionV"
  },
  "title" : "AssignableDocument.Question"
}
-->

# AssignableDocument.Question

A question in the assignable document.

```
struct Question
```

## Topics

### Creating a question

[`init(pageID: AssignableDocument.Page.ID, boxes: [AssignableDocument.QuestionBox], maxScore: Double?)`](/documentation/Assignables/AssignableDocument/Question/init(pageID:boxes:maxScore:))

Initializes an instance of this object with the given
values.

### Inspecting a question

[`var boxes: [AssignableDocument.QuestionBox]`](/documentation/Assignables/AssignableDocument/Question/boxes)

The question boxes on pages that
denote question regions. Treated as as set.

[`typealias ID`](/documentation/Assignables/AssignableDocument/Question/ID-swift.typealias)

A type representing the stable identity of this question.

[`var id: AssignableDocument.Question.ID`](/documentation/Assignables/AssignableDocument/Question/id-swift.property)

The stable identity of this question.

[`var maxScore: Double?`](/documentation/Assignables/AssignableDocument/Question/maxScore)

An optional manual maximum point value for this question.

[`struct Thumbnail`](/documentation/Assignables/AssignableDocument/Question/Thumbnail)

The thumbnail type for this question.

[`typealias Document`](/documentation/Assignables/AssignableDocument/Question/Document)

The document type this element is for.

### Comparing questions

[`static func == (AssignableDocument.Question, AssignableDocument.Question) -> Bool`](/documentation/Assignables/AssignableDocument/Question/==(_:_:))

Returns a Boolean value indicating whether two values are equal.

### Hashing a question

[`func hash(into: inout Hasher)`](/documentation/Assignables/AssignableDocument/Question/hash(into:))

Hashes the essential components of this value by feeding them into the given hasher.

### Initializers

[`init(boxes: [AssignableDocument.QuestionBox], maxScore: Double?)`](/documentation/Assignables/AssignableDocument/Question/init(boxes:maxScore:))

Initializes an instance of this object with the given
values.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`DocumentElement`](/documentation/Assignables/DocumentElement)

[`Copyable`](/documentation/Swift/Copyable)

[`Hashable`](/documentation/Swift/Hashable)

[`AssignableDocumentElement`](/documentation/Assignables/AssignableDocumentElement)

[`Escapable`](/documentation/Swift/Escapable)

[`Identifiable`](/documentation/Swift/Identifiable)

---

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)