<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLArrayType",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(cs)MTLArrayType"
  },
  "title" : "MTLArrayType"
}
-->

# MTLArrayType

A description of an array.

```
class MTLArrayType
```

## Overview

An [`MTLArrayType`](/documentation/Metal/MTLArrayType) instance provides details about an array parameter. Don’t create [`MTLArrayType`](/documentation/Metal/MTLArrayType) instances directly; other reflection instances contain properties to determine if a parameter is an array and to obtain the [`MTLArrayType`](/documentation/Metal/MTLArrayType) instance that describes the array.

## Topics

### Describing the array elements

[`arrayLength`](/documentation/Metal/MTLArrayType/arrayLength)

The number of elements in the array.

[`elementType`](/documentation/Metal/MTLArrayType/elementType)

The data type of the array’s elements.

[`stride`](/documentation/Metal/MTLArrayType/stride)

The stride between array elements, in bytes.

[`argumentIndexStride`](/documentation/Metal/MTLArrayType/argumentIndexStride)

The stride, in bytes, between argument indices.

### Obtaining details for complex array elements

[`element()`](/documentation/Metal/MTLArrayType/element())

Provides a description of the underlying type when an array holds other arrays as its elements.

[`elementStructType()`](/documentation/Metal/MTLArrayType/elementStructType())

Provides a description of the underlying struct type when an array holds structs as its elements.

[`elementPointerType()`](/documentation/Metal/MTLArrayType/elementPointerType())

Provides a description of the underlying pointer type when an array holds pointers as its elements.

[`elementTextureReferenceType()`](/documentation/Metal/MTLArrayType/elementTextureReferenceType())

Provides a description of the underlying texture type when an array holds textures as its elements.



---

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)