---
title: Cocoa Design Patterns
framework: swift
role: collectionGroup
path: swift/cocoa-design-patterns
---

# Cocoa Design Patterns

Adopt and interoperate with Cocoa design patterns in your Swift apps.

## Topics

### Common Patterns

- [Using Key-Value Observing in Swift](swift/using-key-value-observing-in-swift.md)
- [Using Delegates to Customize Object Behavior](swift/using-delegates-to-customize-object-behavior.md)
- [Managing a Shared Resource Using a Singleton](swift/managing-a-shared-resource-using-a-singleton.md)
- [About Imported Cocoa Error Parameters](swift/about-imported-cocoa-error-parameters.md)
- [Handling Cocoa Errors in Swift](swift/handling-cocoa-errors-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)
- [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)
- [Imported C and Objective-C APIs](swift/imported-c-and-objective-c-apis.md)
- [Calling Objective-C APIs Asynchronously](swift/calling-objective-c-apis-asynchronously.md)
