---
title: Imported C and Objective-C APIs
framework: swift
role: collectionGroup
path: swift/imported-c-and-objective-c-apis
---

# Imported C and Objective-C APIs

Use native Swift syntax to interoperate with types and functions in C and Objective-C.

## Overview

Overview You can access and use pieces of code written in C and Objective-C from within your Swift code. After you import an Objective-C framework, a C library, or a header file, you can work with Objective-C classes and protocols, as well as common C constructs, functions, and patterns.

## Topics

### Swift and Objective-C in the Same Project

- [Importing Objective-C into Swift](swift/importing-objective-c-into-swift.md)
- [Importing Swift into Objective-C](swift/importing-swift-into-objective-c.md)

### Cocoa Frameworks

- [Working with Foundation Types](swift/working-with-foundation-types.md)
- [Working with Core Foundation Types](swift/working-with-core-foundation-types.md)

### Objective-C APIs

- [Using Imported Lightweight Generics in Swift](swift/using-imported-lightweight-generics-in-swift.md)
- [Using Imported Protocol-Qualified Classes in Swift](swift/using-imported-protocol-qualified-classes-in-swift.md)

### C APIs

- [Using Imported C Structs and Unions in Swift](swift/using-imported-c-structs-and-unions-in-swift.md)
- [Using Imported C Functions in Swift](swift/using-imported-c-functions-in-swift.md)
- [Using Imported C Macros in Swift](swift/using-imported-c-macros-in-swift.md)

## See Also

### Language Interoperability with Objective-C and C

- [Objective-C and C Code Customization](swift/objective-c-and-c-code-customization.md)
- [Migrating Your Objective-C Code to Swift](swift/migrating-your-objective-c-code-to-swift.md)
- [Cocoa Design Patterns](swift/cocoa-design-patterns.md)
- [Handling Dynamically Typed Methods and Objects in Swift](swift/handling-dynamically-typed-methods-and-objects-in-swift.md)
- [Using Objective-C Runtime Features in Swift](swift/using-objective-c-runtime-features-in-swift.md)
- [Calling Objective-C APIs Asynchronously](swift/calling-objective-c-apis-asynchronously.md)
