<!--
{
  "documentType" : "article",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/object-runtime",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Object Runtime"
}
-->

# Object Runtime

Get low-level support for basic Objective-C features, Cocoa design patterns, and Swift integration.

## Topics

### Object Basics

  <doc://com.apple.documentation/documentation/ObjectiveC/NSObject-swift.class>

  <doc://com.apple.documentation/documentation/ObjectiveC/NSObjectProtocol>

  <doc://com.apple.documentation/documentation/ObjectiveC/nskeyvaluecoding>

### Copying

[`NSCopying`](/documentation/Foundation/NSCopying)

A protocol that objects adopt to provide functional copies of themselves.

[`NSMutableCopying`](/documentation/Foundation/NSMutableCopying)

A protocol that mutable objects adopt to provide functional copies of themselves.

### Value Wrappers and Transformations

[`NSNumber`](/documentation/Foundation/NSNumber)

An object wrapper for primitive scalar numeric values.

[`NSValue`](/documentation/Foundation/NSValue)

A simple container for a single C or Objective-C data item.

[`ValueTransformer`](/documentation/Foundation/ValueTransformer)

An abstract class used to transform values from one representation to another.

### Swift Support

SupportedLanguage(swift)

[`ReferenceConvertible`](/documentation/Foundation/ReferenceConvertible)

A decoration applied to types that are backed by a Foundation reference type.

[Classes Bridged to Swift Standard Library Value Types](/documentation/Foundation/classes-bridged-to-swift-standard-library-value-types)

Use bridged reference types when you need reference semantics or Foundation-specific behavior.

### Invocations

[`NSInvocation`](/documentation/Foundation/NSInvocation)

An Objective-C message rendered as an object.

[`NSMethodSignature`](/documentation/Foundation/NSMethodSignature)

A record of the type information for the return value and parameters of a method.

### Remote Objects

[`NSProxy`](/documentation/Foundation/NSProxy)

An abstract superclass defining an API for objects that act as stand-ins for other objects or for objects that don’t exist yet.

### Memory Management

[`NSAutoreleasePool`](/documentation/Foundation/NSAutoreleasePool)

An object that supports Cocoa’s reference-counted memory management system.

[Memory Management Functions](/documentation/Foundation/memory-management-functions)

Perform low-level memory management tasks.

### Objective-C Runtime

[Objective-C Runtime Utilities](/documentation/Foundation/objective-c-runtime-utilities)

Interact with the Objective-C runtime.

### Versions and API Availability

[Foundation Framework Version Numbers](/documentation/Foundation/foundation-framework-version-numbers)

Recognize the constants for comparing the current running version of Foundation against known OS version numbers.

### Legacy

SupportedLanguage(swift)

[Distributed Objects Support](/documentation/Foundation/distributed-objects-support)

Enable communication among objects in different processes, both locally and on remote systems.

[Objective-C Garbage Collection](/documentation/Foundation/objective-c-garbage-collection)

Interface with the legacy garbage collection system.

### Legacy

[Distributed Objects Support](/documentation/Foundation/distributed-objects-support)

Enable communication among objects in different processes, both locally and on remote systems.

[Objective-C Garbage Collection](/documentation/Foundation/objective-c-garbage-collection)

Interface with the legacy garbage collection system.

[`NSZone`](/documentation/Foundation/NSZone)

A type used to identify and manage memory zones.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)