---
title: MDLMeshBufferDataAllocator
framework: modelio
role: symbol
role_heading: Class
path: modelio/mdlmeshbufferdataallocator
---

# MDLMeshBufferDataAllocator

A basic allocator implementation that allocates from main memory using data objects.

## Declaration

```swift
class MDLMeshBufferDataAllocator
```

## Overview

Overview Model I/O uses this allocator by default if you do not specify an allocator when loading, creating, or modifying objects that require mesh buffer storage (for example, when loading an asset with the init(url:vertexDescriptor:bufferAllocator:) initializer). Use this allocator only if sharing mesh buffer memory with GPU-based renderers is not a concern. To minimize data copying when rendering with Metal or OpenGL, use the MTKMeshBufferAllocator or GLKMeshBufferAllocator class instead.This class declares no methods or properties of its own. For the key functionality of all mesh buffer allocator objects, see MDLMeshBufferAllocator.

## 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)
- [MDLMeshBufferAllocator](modelio/mdlmeshbufferallocator.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Managing Mesh Data

- [MDLMeshBuffer](modelio/mdlmeshbuffer.md)
- [MDLMeshBufferAllocator](modelio/mdlmeshbufferallocator.md)
- [MDLMeshBufferData](modelio/mdlmeshbufferdata.md)
- [MDLMeshBufferMap](modelio/mdlmeshbuffermap.md)
- [MDLMeshBufferZone](modelio/mdlmeshbufferzone.md)
- [MDLMeshBufferZoneDefault](modelio/mdlmeshbufferzonedefault.md)
- [MDLVertexAttribute](modelio/mdlvertexattribute.md)
- [MDLVertexAttributeData](modelio/mdlvertexattributedata.md)
- [MDLVertexBufferLayout](modelio/mdlvertexbufferlayout.md)
- [MDLVertexDescriptor](modelio/mdlvertexdescriptor.md)
