---
title: INObject
framework: intents
role: symbol
role_heading: Class
path: intents/inobject
---

# INObject

A representation of a custom intent parameter or response property.

## Declaration

```swift
class INObject
```

## Overview

Overview Use INObject to create custom parameters and response properties for intent data that doesn’t fit into one of the System Types, such as Boolean, Duration, or Location. Define custom types and associate them with your custom intents and responses in the Intent Definition file. Xcode uses the type defined in the Intent Definition file to generate a subclass of INObject. Create an instance of this subclass to structure data in intents and intent responses. tip: If your app supports intents on iOS 12, use the Custom parameter type in your Intent Definition file and create instances of INObject (not a subclass) for custom parameters of those intents.

## Topics

### Creating a Custom Object

- [init(identifier:display:subtitle:image:)](intents/inobject/init(identifier:display:subtitle:image:).md)
- [init(identifier:display:)](intents/inobject/init(identifier:display:).md)
- [init(identifier:display:pronunciationHint:subtitle:image:)](intents/inobject/init(identifier:display:pronunciationhint:subtitle:image:).md)
- [init(identifier:display:pronunciationHint:)](intents/inobject/init(identifier:display:pronunciationhint:).md)

### Displaying the Object

- [displayString](intents/inobject/displaystring.md)
- [subtitleString](intents/inobject/subtitlestring.md)
- [displayImage](intents/inobject/displayimage.md)

### Describing the Object for the System

- [identifier](intents/inobject/identifier.md)
- [pronunciationHint](intents/inobject/pronunciationhint.md)
- [alternativeSpeakableMatches](intents/inobject/alternativespeakablematches.md)

### Initializers

- [init(coder:)](intents/inobject/init(coder:).md)
- [init(identifier:displayString:)](intents/inobject/init(identifier:displaystring:).md)
- [init(identifier:displayString:pronunciationHint:)](intents/inobject/init(identifier:displaystring:pronunciationhint:).md)
- [init(identifier:displayString:pronunciationHint:subtitleString:displayImage:)](intents/inobject/init(identifier:displaystring:pronunciationhint:subtitlestring:displayimage:).md)
- [init(identifier:displayString:subtitleString:displayImage:)](intents/inobject/init(identifier:displaystring:subtitlestring:displayimage:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [INSpeakable](intents/inspeakable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Custom Objects

- [INObjectCollection](intents/inobjectcollection.md)
- [INObjectSection](intents/inobjectsection.md)
