# Friday Q&A 2017-08-11: Swift.Unmanaged

DevFeed: [Friday Q&A 2017-08-11: Swift.Unmanaged](<https://devfeed.tech/articles/friday-q-a-2017-08-11-swift-unmanaged-30620.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-08-11-swiftunmanaged.html>)

Author: Mike Ash

Published: 2017-08-11T13:14:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [API](<https://devfeed.tech/topics/api.md>), [C](<https://devfeed.tech/topics/c.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [arc-memory-management](<https://devfeed.tech/tags/arc-memory-management.md>), [c](<https://devfeed.tech/tags/c.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [swift](<https://devfeed.tech/tags/swift.md>)

## AI overview

This tutorial explains Swift.Unmanaged, the standard API for converting Swift object references to and from raw pointers when interoperating with C APIs. It covers how to choose ownership behavior and manually manage object lifetimes when Swift's ARC cannot track the pointer.

## Source excerpt

In order to work with C APIs, we sometimes need to convert Swift object references to and from raw pointers. Swift's Unmanaged struct is the standard API for handling this. Today, I'd like to talk about what it does and how to use it. (Read More)