---
title: "xpc_array_get_data(_:_:_:)"
framework: xpc
role: symbol
role_heading: Function
path: "xpc/xpc_array_get_data(_:_:_:)"
---

# xpc_array_get_data(_:_:_:)

Gets a pointer to the raw bytes of a data object from an array directly.

## Declaration

```swift
func xpc_array_get_data(_ xarray: xpc_object_t, _ index: Int, _ length: UnsafeMutablePointer<Int>?) -> UnsafeRawPointer?
```

## Parameters

- `xarray`: The array which is to be examined.
- `index`: The index of the value to obtain. This value must lie within the index space of the array (0 to N-1 inclusive, where N is the count of the array). If the index is outside that range, the behavior is undefined.
- `length`: Upon return output, will contain the length of the data corresponding to the specified key.

## Return Value

Return Value The underlying bytes at the specified index. NULL if the value at the specified index is not a data value.

## See Also

### Array objects

- [XPCArray](xpc/xpcarray.md)
- [xpc_array_create(_:_:)](xpc/xpc_array_create(_:_:).md)
- [xpc_array_create_empty()](xpc/xpc_array_create_empty().md)
- [xpc_array_create_connection(_:_:)](xpc/xpc_array_create_connection(_:_:).md)
- [xpc_array_set_value(_:_:_:)](xpc/xpc_array_set_value(_:_:_:).md)
- [xpc_array_get_value(_:_:)](xpc/xpc_array_get_value(_:_:).md)
- [xpc_array_append_value(_:_:)](xpc/xpc_array_append_value(_:_:).md)
- [xpc_array_get_count(_:)](xpc/xpc_array_get_count(_:).md)
- [xpc_array_apply(_:_:)](xpc/xpc_array_apply(_:_:).md)
- [xpc_array_dup_fd(_:_:)](xpc/xpc_array_dup_fd(_:_:).md)
- [xpc_array_get_array(_:_:)](xpc/xpc_array_get_array(_:_:).md)
- [xpc_array_get_bool(_:_:)](xpc/xpc_array_get_bool(_:_:).md)
- [xpc_array_get_date(_:_:)](xpc/xpc_array_get_date(_:_:).md)
- [xpc_array_get_dictionary(_:_:)](xpc/xpc_array_get_dictionary(_:_:).md)
- [xpc_array_get_double(_:_:)](xpc/xpc_array_get_double(_:_:).md)
