Foundation provides the base layer of data types, collections, strings, dates, files, URLs, networking, and OS services that Apple apps are built on. You work with core value and reference types such as NSArray and NSMutableArray, NSData, NSDate and NSCalendar, NSAttributedString, Decimal and NSDecimalNumber, and NSCharacterSet to model and manipulate your app's data. The framework also covers archiving and serialization through NSCoder, NSArchiver, and NSUnarchiver, formatting with DateFormatter, DateComponentsFormatter, and ByteCountFormatter, and supporting services like Bundle, NSCache, and NSBackgroundActivityScheduler. It is available on iOS, macOS, tvOS, watchOS, and visionOS.
Collections 19
Ordered, keyed, and set-based container types for storing and organizing objects.
- ClNSArrayA static ordered collection of objects.
- ClNSMutableArrayA dynamic ordered collection of objects.
- ClNSDictionaryA static collection of objects associated with unique keys.
- ClNSMutableDictionaryA dynamic collection of objects associated with unique keys.
- ClNSSetA static, unordered collection of unique objects.
- ClNSMutableSetA dynamic unordered collection of unique objects.
- ClNSCountedSetA mutable, unordered collection of distinct objects that may appear more than once in the collection.
- ClNSOrderedSetmacOS 10.7+A static, ordered collection of unique objects.
- ClNSMutableOrderedSetmacOS 10.7+A dynamic, ordered collection of unique objects.
- ClNSOrderedCollectionChangemacOS 10.15+An object that represents an indexed change within an ordered collection.
- ClNSOrderedCollectionDifferencemacOS 10.15+An object representing the difference between two ordered collections.
- ClNSIndexSetAn immutable collection of unique integer values that represent indexes in another collection.
- ClNSMutableIndexSetA mutable collection of unique integer values that represent indexes in another collection.
- ClNSIndexPathA list of indexes that together represent the path to a specific location in a tree of nested arrays.
- ClNSEnumeratorAn abstract class whose subclasses enumerate collections of objects, such as arrays and dictionaries.
- ClNSHashTablemacOS 10.5+A collection similar to a set, but with broader range of available memory semantics.
- ClNSMapTablemacOS 10.5+A collection similar to a dictionary, but with a broader range of available memory semantics.
- ClNSPointerArraymacOS 10.5+A collection similar to an array, but with a broader range of available memory semantics.
- ClNSPointerFunctionsmacOS 10.5+An instance of `NSPointerFunctions` defines callout functions appropriate for managing a pointer reference held somewhere else.
Strings and Text 13
Mutable and attributed string types plus linguistic and text-analysis utilities.
- ClNSStringA static, plain-text Unicode string object.
- ClNSMutableStringA dynamic plain-text Unicode string object.
- ClNSAttributedStringmacOS 10.0+A string of text that manages data, layout, and stylistic information for ranges of characters to support rendering.
- ClNSMutableAttributedStringmacOS 10.0+A mutable string with associated attributes (such as visual style, hyperlinks, or accessibility data) for portions of its text.
- ClNSCharacterSetAn object representing a fixed set of Unicode character values for use in search operations.
- ClNSMutableCharacterSetAn object representing a mutable set of Unicode character values for use in search operations.
- ClScannerA string parser that scans for substrings or characters in a character set, and for numeric values from decimal, hexadecimal, and floating-point representations.
- ClNSLinguisticTaggerAnalyze natural language text to tag part of speech and lexical class, identify names, perform lemmatization, and determine the language and script.
- ClNSOrthographymacOS 10.6+A description of the linguistic content of natural language text, typically used for spelling and grammar checking.
- ClNSSpellServerA server that your app uses to provide a spell checker service to other apps running in the system.
- ClNSRegularExpressionmacOS 10.7+An immutable representation of a compiled regular expression that you apply to Unicode strings.
- ClNSDataDetectormacOS 10.7+A specialized regular expression object that matches natural language text for predefined data patterns.
- ClNSTextCheckingResultmacOS 10.6+An occurrence of textual content found during the analysis of a block of text, such as when matching a regular expression.
Numbers, Data, and Values 15
Core value types for numbers, raw bytes, decimals, measurements, and identifiers.
- ClNSDataA static byte buffer in memory.
- ClNSMutableDataAn object representing a dynamic byte buffer in memory.
- ClNSPurgeableDatamacOS 10.6+A mutable data object containing bytes that can be discarded when they're no longer needed.
- ClNSDecimalNumberAn object for representing and performing arithmetic on base-10 numbers.
- ClNSDecimalNumberHandlerA class that adopts the decimal number behaviors protocol.
- ClNSNullA singleton object used to represent null values in collection objects that don't allow `nil` values.
- ClNSUUIDmacOS 10.8+A universally unique value that can be used to identify types, interfaces, and other items.
- ClNSMeasurementmacOS 10.12+A numeric quantity labeled with a unit of measure, with support for unit conversion and unit-aware calculations.
- ClUnitmacOS 10.12+An abstract class representing a unit of measure.
- ClDimensionmacOS 10.12+An abstract class representing a dimensional unit of measure.
- ClUnitConvertermacOS 10.12+An abstract class that provides a description of how to convert a unit to and from the base unit of its dimension.
- ClUnitConverterLinearmacOS 10.12+A description of how to convert between units using a linear equation.
- ClUnitAccelerationmacOS 10.12+A unit of measure for acceleration.
- ClUnitAnglemacOS 10.12+A unit of measure for planar angle and rotation.
- ClUnitAreamacOS 10.12+A unit of measure for area.
Dates and Times 5
Types for representing instants, calendars, time zones, and date intervals.
- ClNSDateA representation of a specific point in time, independent of any calendar or time zone.
- ClNSCalendarA definition of the relationships between calendar units and absolute points in time, providing features for calculation and comparison of dates.
- ClNSDateComponentsAn object that specifies a date or time in terms of units (such as year, month, day, hour, and minute) to be evaluated in a calendar system and time zone.
- ClNSDateIntervalmacOS 10.12+An object representing the span of time between a specific start date and end date.
- ClNSTimeZoneInformation about standard time conventions associated with a specific geopolitical region.
Formatting 16
Formatter objects that convert values to and from localized, human-readable text.
- ClFormatterAn abstract class that declares an interface for objects that create, interpret, and validate the textual representation of values.
- ClDateFormatterA formatter that converts between dates and their textual representations.
- ClISO8601DateFormattermacOS 10.12+A formatter that converts between dates and their ISO 8601 string representations.
- ClDateComponentsFormattermacOS 10.10+A formatter that creates string representations of quantities of time.
- ClDateIntervalFormattermacOS 10.10+A formatter that creates string representations of time intervals.
- ClRelativeDateTimeFormattermacOS 10.15+A formatter that creates locale-aware string representations of a relative date or time.
- ClNumberFormatterA formatter that converts between numeric values and their textual representations.
- ClByteCountFormattermacOS 10.8+A formatter that converts a byte count value into a localized description that is formatted with the appropriate byte modifier (KB, MB, GB and so on).
- ClEnergyFormattermacOS 10.10+A formatter that provides localized descriptions of energy values.
- ClLengthFormattermacOS 10.10+A formatter that provides localized descriptions of linear distances, such as length and height measurements.
- ClMassFormattermacOS 10.10+A formatter that provides localized descriptions of mass and weight values.
- ClMeasurementFormattermacOS 10.12+A formatter that provides localized representations of units and measurements.
- ClListFormattermacOS 10.15+An object that provides locale-correct formatting of a list of items using the appropriate separator and conjunction.
- ClPersonNameComponentsFormattermacOS 10.11+A formatter that provides localized representations of the components of a person's name.
- ClNSPersonNameComponentsmacOS 10.11+An object that manages the separate parts of a person's name to allow locale-aware formatting.
- ClNSSortDescriptorAn immutable description of how to order a collection of objects according to a property common to all the objects.
Files and File System 13
Types for accessing, coordinating, and packaging files and directories.
- ClFileManagerA convenient interface to the contents of the file system, and the primary means of interacting with it.
- ClFileHandleAn object-oriented wrapper for a file descriptor.
- ClPipeA one-way communications channel between related processes.
- ClFileWrappermacOS 10.0+A representation of a node (a file, directory, or symbolic link) in the file system.
- ClNSFileCoordinatormacOS 10.7+An object that coordinates the reading and writing of files and directories among file presenters.
- ClNSFileAccessIntentmacOS 10.10+The details of a coordinated-read or coordinated-write operation.
- ClNSFileVersionmacOS 10.7+A snapshot of a file at a specific point in time.
- ClNSFileProviderServicemacOS 10.13+A service that provides a custom communication channel between your app and a File Provider extension.
- ClNSFileSecuritymacOS 10.7+A stub class that encapsulates security information about a file.
- ClNSMetadataQuerymacOS 10.4+A query that you perform against Spotlight metadata.
- ClNSMetadataItemmacOS 10.4+The metadata associated with a file.
- ClNSMetadataQueryResultGroupmacOS 10.4+The `NSMetadataQueryResultGroup` class represents a collection of grouped attribute results returned by an ``NSMetadataQuery`` object.
- ClNSMetadataQueryAttributeValueTuplemacOS 10.4+The `NSMetadataQueryAttributeValueTuple` class represents attribute-value tuples, which are objects that contain the attribute name and value of a metadata attribute.
Streams and Ports 8
Byte streams and interprocess ports for moving data between endpoints.
- ClStreamAn abstract class representing a stream.
- ClInputStreamA stream that provides read-only stream functionality.
- ClOutputStreamA stream that provides write-only stream functionality.
- ClPortAn abstract class that represents a communication channel.
- ClNSMachPortA port that can be used as an endpoint for distributed object connections (or raw messaging).
- ClMessagePortA port that can be used as an endpoint for distributed object connections (or raw messaging).
- ClSocketPortA port that represents a BSD socket.
- ClPortMessageA low-level, operating system-independent type for inter-application (and inter-thread) messages.
URLs and Networking 32
URL loading, requests, responses, sessions, cookies, and credential management.
- ClNSURLAn object that represents the location of a resource, such as an item on a remote server or the path to a local file.
- ClNSURLComponentsmacOS 10.9+An object that parses URLs into and constructs URLs from their constituent parts.
- ClNSURLQueryItemmacOS 10.10+An object representing a single name/value pair for an item in the query portion of a URL.
- ClNSURLRequestmacOS 10.2+A URL load request that is independent of protocol or URL scheme.
- ClNSMutableURLRequestmacOS 10.2+A mutable URL load request that is independent of protocol or URL scheme.
- ClURLResponsemacOS 10.2+The metadata associated with the response to a URL load request, independent of protocol and URL scheme.
- ClHTTPURLResponsemacOS 10.2+The metadata associated with the response to an HTTP protocol URL load request.
- ClNSURLConnectionmacOS 10.2+An object that enables you to start and stop URL requests.
- ClNSURLDownloadmacOS 10.2+An object that downloads a resource asynchronously and saves the data to a file.
- ClNSURLHandleAn object that accesses and manages resource data indicated by a URL.
- ClURLSessionmacOS 10.9+An object that coordinates a group of related, network data transfer tasks.
- ClURLSessionConfigurationmacOS 10.9+A configuration object that defines behavior and policies for a URL session.
- ClURLSessionTaskmacOS 10.9+A task, like downloading a specific resource, performed in a URL session.
- ClURLSessionDataTaskmacOS 10.9+A URL session task that returns downloaded data directly to the app in memory.
- ClURLSessionUploadTaskmacOS 10.9+A URL session task that uploads data to the network in a request body.
- ClURLSessionDownloadTaskmacOS 10.9+A URL session task that stores downloaded data to a file.
- ClURLSessionStreamTaskmacOS 10.11+A URL session task that is stream-based.
- ClURLSessionWebSocketTaskmacOS 10.15+A URL session task that communicates over the WebSockets protocol standard.
- ClURLSessionTaskMetricsmacOS 10.12+An object encapsulating the metrics for a session task.
- ClURLSessionTaskTransactionMetricsmacOS 10.12+An object that encapsulates the performance metrics collected by the URL Loading System during the execution of a session task.
- ClURLCachemacOS 10.2+An object that maps URL requests to cached response objects.
- ClCachedURLResponsemacOS 10.2+A cached response to a URL request.
- ClURLProtocolmacOS 10.2+An abstract class that handles the loading of protocol-specific URL data.
- ClURLAuthenticationChallengemacOS 10.2+A challenge from a server requiring authentication from the client.
- ClURLProtectionSpacemacOS 10.2+A server or an area on a server, commonly referred to as a realm, that requires authentication.
- ClURLCredentialmacOS 10.2+An authentication credential consisting of information specific to the type of credential and the type of persistent storage to use, if any.
- ClURLCredentialStoragemacOS 10.2+The manager of a shared credentials cache.
- ClHTTPCookiemacOS 10.2+A representation of an HTTP cookie.
- ClHTTPCookieStoragemacOS 10.2+A container that manages the storage of cookies.
- ClHostA representation of an individual host on the network.
- ClNetServiceA network service that broadcasts its availability using multicast DNS.
- ClNetServiceBrowserA network service browser that finds published services on a network using multicast DNS.
Archiving and Serialization 7
Coders, archivers, and serializers for persisting and exchanging object graphs.
- ClNSCoderAn abstract class that serves as the basis for objects that enable archiving and distribution of other objects.
- ClNSArchiverA coder that stores an object's data to an archive.
- ClNSUnarchiverA decoder that restores data from an archive.
- ClNSKeyedArchiverAn encoder that stores an object's data to an archive referenced by keys.
- ClNSKeyedUnarchiverA decoder that restores data from an archive referenced by keys.
- ClJSONSerializationmacOS 10.7+An object that converts between JSON and the equivalent Foundation objects.
- ClPropertyListSerializationAn object that converts between a property list and one of several serialized representations.
Predicates and Expressions 4
Types that define and evaluate logical queries over collections and objects.
- ClNSPredicatemacOS 10.4+A definition of logical conditions for constraining a search for a fetch or for in-memory filtering.
- ClNSComparisonPredicatemacOS 10.4+A specialized predicate for comparing expressions.
- ClNSCompoundPredicatemacOS 10.4+A specialized predicate that evaluates logical combinations of other predicates.
- ClNSExpressionmacOS 10.4+An expression for use in a comparison predicate.
Concurrency and Tasks 15
Operations, threads, run loops, timers, locks, and background scheduling.
- ClOperationmacOS 10.5+An abstract class that represents the code and data associated with a single task.
- ClBlockOperationmacOS 10.6+An operation that manages the concurrent execution of one or more blocks.
- ClOperationQueuemacOS 10.5+A queue that regulates the execution of operations.
- ClThreadA thread of execution.
- ClRunLoopThe programmatic interface to objects that manage input sources.
- ClTimerA timer that fires after a certain time interval has elapsed, sending a specified message to a target object.
- ClProcessAn object that represents a subprocess of the current process.
- ClNSLockAn object that coordinates the operation of multiple threads of execution within the same application.
- ClNSConditionLockA lock that can be associated with specific, user-defined conditions.
- ClNSRecursiveLockA lock that may be acquired multiple times by the same thread without causing a deadlock.
- ClNSConditionmacOS 10.5+A condition variable whose semantics follow those used for POSIX-style conditions.
- ClNSBackgroundActivitySchedulermacOS 10.10+A task scheduler suitable for low priority operations that can run in the background.
- ClProgressmacOS 10.9+An object that conveys ongoing progress to the user for a specified task.
- ClNSProxyAn abstract superclass defining an API for objects that act as stand-ins for other objects or for objects that don't exist yet.
- ClNSProtocolCheckerAn object that restricts the messages that can be sent to another object (referred to as the checker's delegate).
Notifications 6
Broadcast mechanisms for posting and observing notifications across an app.
- ClNSNotificationA container for information broadcast through a notification center to all registered observers.
- ClNotificationCenterA notification dispatch mechanism that enables the broadcast of information to registered observers.
- ClDistributedNotificationCenterA notification dispatch mechanism that enables the broadcast of notifications across task boundaries.
- ClNotificationQueueA notification center buffer.
- ClNSKeyValueSharedObserversmacOS 15.0+A collection of key-value observations which may be registered with multiple
- ClNSKeyValueSharedObserversSnapshotmacOS 15.0+A collection of key-value observations which may be registered with multiple
App Services and Resources 10
Process information, bundles, caches, locale, and system-level services.
- ClProcessInfoA collection of information about the current process.
- ClBundleA representation of the code and resources stored in a bundle directory on disk.
- ClNSCachemacOS 10.6+A mutable collection you use to temporarily store transient key-value pairs that are subject to eviction when resources are low.
- ClNSLocaleInformation about linguistic, cultural, and technological conventions for use in formatting data for presentation.
- ClNSUbiquitousKeyValueStoremacOS 10.7+An iCloud-based container of key-value pairs you share among instances of your app
- ClNSDistributedLockA lock that multiple applications on multiple hosts can use to restrict access to some shared resource, such as a file.
- ClNSItemProvidermacOS 10.10+An item provider for conveying data or a file between processes during drag-and-drop or copy-and-paste activities, or from a host app to an app extension.
- ClNSExtensionContextmacOS 10.10+The host app context from which an app extension is invoked.
- ClNSExtensionItemmacOS 10.10+An immutable collection of values representing different aspects of an item for an extension to act upon.
- ClNSClassDescriptionAn abstract class that provides the interface for querying the relationships and properties of a class.
Errors and Exceptions 3
Types for reporting recoverable errors and handling runtime exceptions.
- ClNSErrorInformation about an error condition including a domain, a domain-specific error code, and application-specific information.
- ClNSExceptionAn object that represents a special condition that interrupts the normal flow of program execution.
- ClNSAssertionHandlerAn object that logs an assertion to the console.
Scripting Support 33
AppleScript and Cocoa scripting infrastructure for scriptable applications.
- ClNSAppleScriptAn object that provides the ability to load, compile, and execute scripts.
- ClNSAppleEventDescriptorA wrapper for the Apple event descriptor data type.
- ClNSAppleEventManagerA mechanism for registering handler routines for specific types of Apple events and dispatching events to those handlers.
- ClNSScriptClassDescriptionA scriptable class that a macOS app supports.
- ClNSScriptCoercionHandlerA mechanism for converting one kind of scripting data to another.
- ClNSScriptCommandA self-contained scripting statement.
- ClNSScriptCommandDescriptionA script command that a macOS app supports.
- ClNSScriptExecutionContextThe context in which the current script command is executed.
- ClNSScriptObjectSpecifierAn abstract class used to represent natural language expressions.
- ClNSIndexSpecifierA specifier representing an object in a collection (or container) with an index number.
- ClNSMiddleSpecifierA specifier indicating the middle object in a collection or, if not a one-to-many relationship, the sole object.
- ClNSNameSpecifierA specifier for an object in a collection (or container) by name.
- ClNSPositionalSpecifierA specifier for an insertion point in a container relative to another object in the container.
- ClNSPropertySpecifierA specifier for a simple attribute value, a one-to-one relationship, or all elements of a to-many relationship.
- ClNSRandomSpecifierA specifier for an arbitrary object in a collection or, if not a one-to-many relationship, the sole object.
- ClNSRangeSpecifierA specifier for a range of objects in a container.
- ClNSRelativeSpecifierA specifier that indicates an object in a collection by its position relative to another object.
- ClNSUniqueIDSpecifierA specifier for an object in a collection (or container) by unique ID.
- ClNSWhoseSpecifierA specifier that indicates every object in a collection matching a condition.
- ClNSCloneCommandA command that clones one or more scriptable objects.
- ClNSCloseCommandA command that closes one or more scriptable objects.
- ClNSCountCommandA command that counts the number of objects of a specified class in the specified object container.
- ClNSCreateCommandA command that creates a scriptable object.
- ClNSDeleteCommandA command that deletes a scriptable object.
- ClNSExistsCommandA command that determines whether a scriptable object exists.
- ClNSGetCommandA command that retrieves a value or object from a scriptable object.
- ClNSMoveCommandA command that moves one or more scriptable objects.
- ClNSQuitCommandA command that quits the specified app.
- ClNSSetCommandA command that sets one or more attributes or relationships to one or more values.
- ClNSScriptSuiteRegistryThe top-level repository of scriptability information for an app at runtime.
- ClNSScriptWhoseTestAn abstract class that provides the basis for testing specifiers one at a time or in groups.
- ClNSLogicalTestA script whose test that combines other tests using logical AND, OR, or NOT operations.
- ClNSSpecifierTestA script whose test that compares an object specifier against a value using a comparison operator.
Geometry 1
Affine transform support for two-dimensional coordinate manipulation.
- ClNSAffineTransformA graphics coordinate transformation.
Classes 51
- ClUndoManagermacOS 10.0+A general-purpose recorder of operations that enables undo and redo.
- ClUnitConcentrationMassmacOS 10.12+A unit of measure for concentration of mass.
- ClUnitDispersionmacOS 10.12+A unit of measure for specific quantities of dispersion.
- ClUnitDurationmacOS 10.12+A unit of measure for a duration of time.
- ClUnitElectricChargemacOS 10.12+A unit of measure for electric charge.
- ClUnitElectricCurrentmacOS 10.12+A unit of measure for electric current.
- ClUnitElectricPotentialDifferencemacOS 10.12+A unit of measure for electric potential difference.
- ClUnitElectricResistancemacOS 10.12+A unit of measure for electric resistance.
- ClUnitEnergymacOS 10.12+A unit of measure for energy.
- ClUnitFrequencymacOS 10.12+A unit of measure for frequency.
- ClUnitFuelEfficiencymacOS 10.12+A unit of measure for fuel efficiency.
- ClUnitInformationStoragemacOS 10.15+A unit of measure for quantities of information.
- ClUnitLengthmacOS 10.12+A unit of measure for length.
- ClUnitIlluminancemacOS 10.12+A unit of measure for illuminance.
- ClUnitMassmacOS 10.12+A unit of measure for mass.
- ClUnitPowermacOS 10.12+A unit of measure for power.
Show 35 more
- ClUnitPressuremacOS 10.12+A unit of measure for pressure.
- ClUnitSpeedmacOS 10.12+A unit of measure for speed.
- ClUnitTemperaturemacOS 10.12+A unit of measure for temperature.
- ClUnitVolumemacOS 10.12+A unit of measure for volume.
- ClNSUserActivitymacOS 10.10+A representation of the state of your app at a moment in time.
- ClUserDefaultsAn interface to the user's defaults database, which stores system-wide and app-specific settings.
- ClNSUserNotificationA notification that can be scheduled for display in the notification center.
- ClNSUserNotificationActionAn action that the user can take in response to receiving a notification.
- ClNSUserNotificationCenterAn object that delivers notifications from apps to the user.
- ClNSUserScriptTaskmacOS 10.8+An object that executes scripts.
- ClNSUserUnixTaskmacOS 10.8+An object that executes unix applications.
- ClNSUserAppleScriptTaskmacOS 10.8+An object that executes AppleScript scripts.
- ClNSUserAutomatorTaskmacOS 10.8+An object that executes Automator workflows.
- ClNSValueA simple container for a single C or Objective-C data item.
- ClNSNumberAn object wrapper for primitive scalar numeric values.
- ClValueTransformermacOS 10.3+An abstract class used to transform values from one representation to another.
- ClNSSecureUnarchiveFromDataTransformermacOS 10.14+A value transformer that converts data to and from classes that support secure coding.
- ClXMLDTDA representation of a Document Type Definition.
- ClXMLDTDNodeThe nodes that are exclusive to a DTD.
- ClXMLDocumentAn XML document as internalized into a logical tree structure.
- ClXMLElementThe element nodes in an XML tree structure.
- ClXMLNodeThe nodes in the abstract, logical tree structure that represents an XML document.
- ClXMLParserAn event driven parser of XML documents (including DTD declarations).
- ClNSXPCConnectionmacOS 10.8+A bidirectional communication channel between two processes.
- ClNSXPCListenermacOS 10.8+A listener that waits for new incoming connections, configures them, and accepts or rejects them.
- ClNSXPCInterfacemacOS 10.8+An interface that may be sent to an exported object or remote object proxy.
- ClNSXPCListenerEndpointmacOS 10.8+An object that names a specific XPC listener.
- ClNSXPCCodermacOS 10.8+A coder that encodes and decodes objects that your app sends over an XPC connection.
- ClJSONDecoderiOS 8.0+An object that decodes instances of a data type from JSON objects.
- ClJSONEncoderiOS 8.0+An object that encodes instances of a data type as JSON objects.
- ClNSKeyValueObservationiOS 8.0+
- ClProgressManageriOS 27+An object that conveys ongoing progress to the user for a specified task.
- ClProgressReporteriOS 27+ProgressReporter is a wrapper for ProgressManager that carries information about ProgressManager.
- ClPropertyListDecoderiOS 8.0+An object that decodes instances of data types from a property list.
- ClPropertyListEncoderiOS 8.0+An object that encodes instances of data types to a property list.
Structures 114
- StNSAffineTransformStructA structure that defines the three-by-three matrix that performs an affine transform between two coordinate systems.
- StNSBinarySearchingOptionsOptions for searches and insertions using ``NSArray/index(of:inSortedRange:options:usingComparator:)``.
- StNSAttributedStringFormattingContextKeyA type that represents a key in the formatting context dictionary.
- StInlinePresentationIntentmacOS 12.0+A type that defines presentation intent for runs of characters for traits like emphasis, strikethrough, and code voice.
- StNSSwappedFloatA structure holding a swapped `float` value.
- StNSSwappedDoubleA structure holding a swapped `double` value.
- StDecimalA structure representing a base-10 number.
- StNSFastEnumerationStateA structure used by objects adopting the `NSFastEnumeration` protocol to maintain enumeration state.
- St_expressionFlags
- StFileAttributeKeyKeys in dictionaries used to get and set file attributes.
- StFileAttributeTypeValues representing a file's type attribute.
- StFileProtectionTypeProtection level values that can be associated with a file attribute key.
- StNSFileProviderServiceNameThe name used to identify a File Provider service.
- StNSFileManagerSupportedSyncControlsmacOS 26.0+An option set of the sync controls available for an item.
- StNSEdgeInsetsA description of the distance between the edges of two rectangles.
- StAlignmentOptionsValues representing alignment operations.
Show 98 more
- StHTTPCookiePropertyKeyConstants that define the supported keys in a cookie attributes dictionary.
- StHTTPCookieStringPolicyValues that indicate whether to restrict the cookie to requests sent back to the same site that created it.
- StNSHashEnumerator
- StNSHashTableCallBacks
- StNSItemProviderFileOptionsmacOS 10.13+Data-access specifications that declare how to handle items.
- StNSKeyValueOperatorThese constants define the available collection operators.
- StNSKeyValueObservingOptionsThe values that can be returned in a change dictionary.
- StNSKeyValueChangeKeyThe keys that can appear in the change dictionary.
- StNSLinguisticTagSchemeConstants for the tag schemes specified when initializing a linguistic tagger.
- StNSLinguisticTagA token, lexical class, name, lemma, language, or script returned by a linguistic tagger for natural language text.
- StNSMapEnumerator
- StNSMapTableKeyCallBacks
- StNSMapTableValueCallBacksThe function pointers used to configure behavior of `NSMapTable` with respect to value elements within a map table.
- StNSExceptionName
- StNSEnumerationOptionsOptions for block enumeration operations.
- StNSSortOptionsOptions for block sorting operations.
- StNSOrderedCollectionDifferenceCalculationOptionsmacOS 10.15+Constants that specify the options to use when creating an ordered collection difference.
- St_predicateFlags
- StOperatingSystemVersionA structure that contains version information about the currently executing operating system, including major, minor, and patch version numbers.
- StProgressKindAn object that represents the kind of progress.
- StProgressUserInfoKeyKeys for the user info dictionary that affect the autogenerated localized additional description string.
- St_NSRangeA structure used to describe a portion of a series, such as characters in a string or objects in an array.
- StStreamSocketSecurityLevel`NSStream` defines these string constants for specifying the secure-socket layer (SSL) security level.
- StStreamSOCKSProxyConfiguration
- StStreamSOCKSProxyVersion
- StStreamNetworkServiceTypeValue`NSStream` defines these string constants for specifying the service type of a stream.
- StStringTransformConstants representing an ICU string transform.
- StStringEncodingDetectionOptionsKey
- StNSTextCheckingKey
- StURLResourceKeyKeys that apply to file system URLs.
- StURLFileResourceTypePossible values for the type of file resource.
- StURLThumbnailDictionaryItemPossible keys for the ``URLResourceKey/thumbnailDictionaryKey`` dictionary.
- StURLFileProtectionProtection-level values for a URL resource key.
- StURLUbiquitousItemDownloadingStatusValues that describe the iCloud storage state of a file.
- StURLUbiquitousSharedItemRoleThe key for the role of a shared item.
- StURLUbiquitousSharedItemPermissionsThe key for the permissions of a shared item.
- StNSValueTransformerNameNamed value transformers defined by `NSValueTransformer`.
- StAffineTransformiOS 8.0+A graphics coordinate transformation.
- StAsyncCharacterSequenceiOS 15.0+An asynchronous sequence of characters.
- StAsyncLineSequenceiOS 15.0+An asynchronous sequence of lines of text.
- StAsyncUnicodeScalarSequenceiOS 15.0+An asynchronous sequence of Unicode scalar values.
- StAttributeContaineriOS 15+A container for attribute keys and values.
- StAttributeScopeCodableConfigurationiOS 15+A configuration type for encoding and decoding attributed strings.
- StAttributedStringiOS 15+A value type for a string with associated attributes for portions of its text.
- StAttributedSubstringiOS 15+A portion of an attributed string.
- StByteCountFormatStyleiOS 15.0+A format style that provides string representations of byte counts.
- StCalendariOS 8.0+A definition of the relationships between calendar units and absolute points in time, providing features for calculation and comparison of dates.
- StCharacterSetiOS 8.0+A set of Unicode character values for use in search operations.
- StCocoaErroriOS 8.0+Describes errors within the Cocoa error domain, including errors that Foundation throws.
- StCodableConfigurationiOS 15+A property wrapper that makes a type codable, by supplying a configuration that provides additional information for serialization.
- StComparableComparatoriOS 15.0+A comparator that compares types according to their conformance to the comparable protocol.
- StDataiOS 8.0+A byte buffer in memory.
- StDateiOS 8.0+A specific point in time, independent of any calendar or time zone.
- StDateComponentsiOS 8.0+A date or time specified in terms of units (such as year, month, day, hour, minute) to be evaluated in a calendar system and time zone.
- StDateIntervaliOS 10.0+The span of time between a specific start date and end date.
- StDiscontiguousAttributedSubstringiOS 26+A discontiguous portion of an attributed string.
- StErrorUserInfoKeyiOS 8.0+These keys may exist in the user info dictionary.
- StExpressioniOS 18+
- StFloatingPointFormatStyleiOS 15.0+A structure that converts between floating-point values and their textual representations.
- StFloatingPointParseStrategyiOS 15.0+A parse strategy for creating floating-point values from formatted strings.
- StFormatStyleCapitalizationContextiOS 15.0+The capitalization formatting context used when formatting dates and times.
- StIndexPathiOS 8.0+A list of indexes that together represent the path to a specific location in a tree of nested arrays.
- StIndexSetiOS 8.0+A collection of unique integer values that represent the indexes of elements in another collection.
- StIntegerFormatStyleiOS 15.0+A structure that converts between integer values and their textual representations.
- StIntegerParseStrategyiOS 15.0+A parse strategy for creating integer values from formatted strings.
- StKeyPathComparatoriOS 15.0+A comparator that uses another sort comparator to provide the comparison of values at a key path.
- StListFormatStyleiOS 15.0+A type that formats lists of items with a separator and conjunction appropriate for a given locale.
- StLocaleiOS 8.0+Information about linguistic, cultural, and technological conventions for use in formatting data for presentation.
- StLocalizedStringResourceiOS 16+A reference to a localizable string, accessible from another process.
- StMachErroriOS 8.0+Describes an error in the Mach error domain.
- StMeasurementiOS 10.0+A numeric quantity labeled with a unit of measure, with support for unit conversion and unit-aware calculations.
- StMeasurementFormatUnitUsageiOS 15.0+A type that provides the generalized usage for a formatted measurement.
- StMorphologyiOS 15.0+A description of the grammatical properties of a string.
- StNSFastEnumerationIterator
- StNSIndexSetIteratoriOS 8.0+An iterator suitable for enumerating the elements of an index set.
- StNSKeyValueObservedChangeiOS 8.0+
- StNotificationiOS 8.0+A container for information broadcast through a notification center to all
- StPOSIXErroriOS 8.0+Describes an error in the POSIX error domain.
- StPersonNameComponentsiOS 9.0+The separate parts of a person's name, allowing locale-aware formatting.
- StPredicateiOS 17+A logical condition used to test a set of input values for searching or filtering.
- StPredicateBindingsiOS 17+A mapping from a predicates's input variables to their values.
- StPredicateCodableConfigurationiOS 17+A specification of the expected types and key paths found in an archived predicate.
- StPredicateErroriOS 17+An error thrown while evaluating a predicate.
- StPresentationIntentiOS 15+A type that defines presentation intent for blocks of characters like paragraphs, lists, block quotes, and tables.
- StScopedAttributeContaineriOS 15+An attribute container that allows dynamic member lookup of its contents within the specified attribute scope.
- StSortDescriptoriOS 15.0+A serializable description of how to sort numerics and strings.
- StStringStyleiOS 15.0+
- StSubprogressiOS 27+Subprogress is used to establish parent-child relationship between two instances of `ProgressManager`.
- StTermOfAddressiOS 17+The type for representing grammatical gender in localized text.
- StTimeZoneiOS 8.0+Information about standard time conventions associated with a specific geopolitical region.
- StURLiOS 8.0+A value that identifies the location of a resource, such as an item on a remote server or the path to a local file.
- StURLComponentsiOS 8.0+A structure that parses URLs into and constructs URLs from their constituent parts.
- StURLErroriOS 8.0+Error codes returned by URL loading APIs.
- StURLQueryItemiOS 8.0+A single name-value pair from the query portion of a URL.
- StURLRequestiOS 8.0+A URL load request that is independent of protocol or URL scheme.
- StURLResourceiOS 16+A resource located at a particular file URL within a bundle.
- StURLResourceValuesiOS 8.0+URLs to file system resources support the properties defined below.
- StUUIDiOS 6.0+A universally unique value to identify types, interfaces, and other items.
Enumerations 28
- EnNSFileManagerResumeSyncBehaviormacOS 26.0+The behaviors the file manager can apply to resolve conflicts when resuming a sync.
- EnNSFileManagerUploadLocalVersionConflictPolicymacOS 26.0+The policies the file manager can apply to resolve conflicts when uploading a local version of a file.
- EnNSRectEdge
- EnNSItemProviderRepresentationVisibilitymacOS 10.13+Specifications that control which categories of processes can see an item.
- EnNSKeyValueChangeThe kinds of changes that can be observed.
- EnNSKeyValueSetMutationKind
- EnNSLinguisticTaggerUnitConstants representing linguistic units.
- EnNSGrammaticalGendermacOS 12.0+A representation of grammatical gender, used for inflecting strings.
- EnNSGrammaticalPartOfSpeechmacOS 12.0+A representation of grammatical parts of speech, used for inflecting strings.
- EnNSGrammaticalNumbermacOS 12.0+A representation of grammatical number, used for inflecting strings.
- EnNSGrammaticalCasemacOS 14.0+
- EnNSGrammaticalPronounTypemacOS 14.0+
- EnNSGrammaticalPersonmacOS 14.0+
- EnNSGrammaticalDeterminationmacOS 14.0+
- EnNSGrammaticalDefinitenessmacOS 14.0+
- EnComparisonResultConstants that indicate sort order.
Show 12 more
- EnQualityOfServicemacOS 10.10+Constants that indicate the nature and importance of work to the system.
- EnNSCollectionChangeTypemacOS 10.15+The type of change represented in computing the difference of an ordered collection.
- EnNSSaveOptionsConstants that specify whether a document should be saved before being closed.
- EnAttributeDynamicLookupiOS 15+A type to support dynamic member lookup of attributes and containers.
- EnAttributeScopesiOS 15+Collections of attributes that system frameworks define.
- EnCurrencyFormatStyleConfigurationiOS 15.0+Configuration settings for formatting currency values.
- EnDescriptiveNumberFormatConfigurationiOS 15.0+
- EnInflectionConceptiOS 17+An inflection method to use when localizing text.
- EnInflectionRuleiOS 15.0+A rule that affects how an attributed string performs automatic grammatical agreement.
- EnNumberFormatStyleConfigurationiOS 15.0+Configuration settings for formatting numbers of different types.
- EnPredicateExpressionsiOS 17+The expressions that make up a predicate.
- EnSortOrderiOS 15.0+The orderings that you can perform sorts with.
Protocols 71
- PrNSCacheDelegateThe delegate of an ``NSCache`` object implements this protocol to perform specialized actions when an object is about to be evicted or removed from the cache.
- PrNSDecimalNumberBehaviorsA protocol that declares three methods that control the discretionary aspects of working with decimal numbers.
- PrNSFastEnumerationA protocol that objects adopt to support fast enumeration.
- PrNSExtensionRequestHandlingThe interface an app extension uses to respond to a request from a host app.
- PrFileManagerDelegateThe interface a file manager's delegate uses to intervene during operations or if an error occurs.
- PrNSFilePresenterThe interface a file coordinator uses to inform an object presenting a file about changes to that file made elsewhere in the system.
- PrNSItemProviderWritingmacOS 10.13+A protocol that allows a class to export its data to a variety of binary representations.
- PrNSItemProviderReadingmacOS 10.13+A protocol that allows a class to be constructed from a variety of binary representations.
- PrNSKeyedArchiverDelegateThe optional methods implemented by the delegate of a keyed archiver.
- PrNSKeyedUnarchiverDelegateThe optional methods implemented by the delegate of a keyed unarchiver.
- PrNSLockingThe elementary methods adopted by classes that define lock objects.
- PrNSMetadataQueryDelegateAn interface that enables the delegate of a metadata query to provide substitute results or attributes.
- PrNetServiceDelegatemacOS 10.2+The interface a net service uses to inform its delegate about the state of the service it offers.
- PrNetServiceBrowserDelegatemacOS 10.2+The interface a net service browser uses to inform a delegate about the state of service discovery.
- PrNSCopyingA protocol that objects adopt to provide functional copies of themselves.
- PrNSMutableCopyingA protocol that mutable objects adopt to provide functional copies of themselves.
Show 55 more
- PrNSCodingA protocol that enables an object to be encoded and decoded for archiving and distribution.
- PrNSSecureCodingA protocol that enables encoding and decoding in a manner that is robust against object substitution attacks.
- PrNSDiscardableContentYou implement this protocol when a class's objects have subcomponents that can be discarded when not being used, thereby giving an application a smaller memory footprint.
- PrPortDelegateAn interface for handling incoming messages.
- PrNSMachPortDelegateAn interface for handling incoming Mach messages.
- PrNSPredicateValidatingmacOS 26.4+
- PrProgressReportingAn interface for objects that report progress using a single progress instance.
- PrNSSpellServerDelegateThe optional methods implemented by the delegate of a spell server.
- PrStreamDelegateAn interface that delegates of a stream instance use to handle events on the stream.
- PrURLAuthenticationChallengeSendermacOS 10.2+The `URLAuthenticationChallengeSender` protocol represents the interface that the sender of an authentication challenge must implement.
- PrNSURLConnectionDelegatemacOS 10.2+A protocol that most delegates of a URL connection implement to receive data associated with the connection.
- PrNSURLConnectionDataDelegatemacOS 10.2+A protocol that most delegates of a URL connection implement to receive data associated with the connection.
- PrNSURLConnectionDownloadDelegatemacOS 10.2+A protocol that delegates of a URL connection created with Newsstand Kit implement to receive data associated with a download.
- PrNSURLDownloadDelegatemacOS 10.2+A protocol that URL download delegates implement to interact with a URL download request.
- PrURLProtocolClientmacOS 10.2+The interface used by ``URLProtocol`` subclasses to communicate with the URL Loading System.
- PrURLSessionDelegatemacOS 10.9+A protocol that defines methods that URL session instances call on their delegates to handle session-level events, like session life cycle changes.
- PrURLSessionTaskDelegatemacOS 10.9+A protocol that defines methods that URL session instances call on their delegates to handle task-level events.
- PrURLSessionDataDelegatemacOS 10.9+A protocol that defines methods that URL session instances call on their delegates to handle task-level events specific to data and upload tasks.
- PrURLSessionDownloadDelegatemacOS 10.9+A protocol that defines methods that URL session instances call on their delegates to handle task-level events specific to download tasks.
- PrURLSessionStreamDelegatemacOS 10.11+A protocol that defines methods that URL session instances call on their delegates to handle task-level events specific to stream tasks.
- PrURLSessionWebSocketDelegatemacOS 10.15+A protocol that defines methods that URL session instances call on their delegates to handle task-level events specific to WebSocket tasks.
- PrNSUserActivityDelegatemacOS 10.10+The interface through which a user activity instance notifies its delegate of updates.
- PrNSUserNotificationCenterDelegateAn interface that enables customizing the behavior of the default notification center.
- PrXMLParserDelegateThe interface an XML parser uses to inform its delegate about the content of the parsed document.
- PrNSXPCProxyCreatingMethods for creating new proxy objects.
- PrNSXPCListenerDelegateThe protocol that delegates to the XPC listener use to accept or reject new connections.
- PrAttributeScopeiOS 15+A type that organizes attributes into a grouping, and supports dynamic member lookup and serialization of attribute keys.
- PrAttributedStringAttributeMutationiOS 15+A protocol that defines in-place mutations for attributes in an attributed string.
- PrAttributedStringKeyiOS 15+A type that defines an attribute's name and type.
- PrAttributedStringProtocoliOS 15+A protocol that provides common functionality to attributed strings and attributed substrings.
- PrContiguousBytesiOS 8.0+A protocol that declares the type offers direct access to the underlying raw bytes in a contiguous manner.
- PrCustomLocalizedStringResourceConvertibleiOS 16+A type that provides an out-of-process localizable description.
- PrCustomNSErroriOS 8.0+A specialized error that provides a domain, error code, and user-info dictionary.
- PrDataProtocoliOS 8.0+A protocol that provides consistent data access to the bytes underlying contiguous and noncontiguous data buffers.
- PrDecodableAttributedStringKeyiOS 15+A protocol that defines how an attribute key decodes its value.
- PrDecodableWithConfigurationiOS 15+A protocol for types that support decoding when supplied with an additional configuration type.
- PrDecodingConfigurationProvidingiOS 15+A protocol whose conformers provide a configuration instance to help decode types that don't support encoding by themselves.
- PrDiscreteFormatStyleiOS 18+A format style that transforms a continuous input into a discrete output and provides
- PrEncodableAttributedStringKeyiOS 15+A protocol that defines how an attribute key encodes its value.
- PrEncodableWithConfigurationiOS 15+A protocol for types that support encoding when supplied with an additional configuration type.
- PrEncodingConfigurationProvidingiOS 15+A protocol whose conformers provide a configuration instance to help encode types that don't support encoding by themselves.
- PrFormatStyleiOS 15.0+A type that converts a given data type into a representation in another type, such as a string.
- PrLocalizedErroriOS 8.0+A specialized error that provides localized messages describing the error and why it occurred.
- PrMarkdownDecodableAttributedStringKeyiOS 15+A protocol that defines how an attribute key decodes a value that corresponds to Markdown syntax.
- PrMutableDataProtocoliOS 8.0+A protocol that provides consistent data access to the bytes underlying contiguous and noncontiguous mutable data buffers.
- PrNSKeyValueObservingCustomizationiOS 8.0+Conforming to NSKeyValueObservingCustomization is not required to use Key-Value Observing. Provide an implementation of these functions if you need to disable auto-notifying for a key, or add dependen
- PrObjectiveCConvertibleAttributedStringKeyiOS 15+A protocol that defines Objective-C interoperability with an attribute key's value type.
- PrParseStrategyiOS 15.0+A type that parses an input representation, such as a formatted string, into a provided data type.
- PrParseableFormatStyleiOS 15.0+A type that can convert a given input data type into a representation in an output type.
- PrPredicateCodableKeyPathProvidingiOS 17+A type that provides the expected key paths found in an archived predicate.
- PrPredicateExpressioniOS 17+A component expression that makes up part of a predicate.
- PrRecoverableErroriOS 8.0+A specialized error that may be recoverable by presenting several potential recovery options to the user.
- PrReferenceConvertibleiOS 8.0+A decoration applied to types that are backed by a Foundation reference type.
- PrSortComparatoriOS 15.0+A comparison algorithm for a specified type.
- PrStandardPredicateExpressioniOS 17+A component expression that makes up part of a predicate, and that's supported by the standard predicate type.
Type Aliases 30
- TyTimeIntervalA number of seconds.
- TyNSErrorDomain
- TyNSUncaughtExceptionHandlerThe type for uncaught exception handler functions.
- TyNSPointA point in a Cartesian coordinate system.
- TyNSPointPointerType indicating a parameter is a pointer to an `NSPoint` structure.
- TyNSPointArrayType indicating a parameter is array of `NSPoint` structures.
- TyNSSizeA two-dimensional size.
- TyNSSizePointerType indicating parameter is a pointer to an `NSSize` structure.
- TyNSSizeArrayType indicating a parameter is an array of `NSSize` structures.
- TyNSRectA rectangle.
- TyNSRectPointerType indicating a parameter is a pointer to an `NSRect` structure.
- TyNSRectArrayType indicating a parameter is array of `NSRect` structures.
- TyNSHashTableOptionsComponents in a bit-field to specify the behavior of elements in an ``NSHashTable`` object.
- TyNSMapTableOptionsConstants used as components in a bitfield to specify the behavior of elements (keys and values) in an `NSMapTable` object.
- TyComparatorDefines the signature for a block object used for comparison operations.
- TySocketNativeHandleType for the platform-specific native socket handle.
Show 14 more
- TyNSRangeA structure used to describe a portion of a series, such as characters in a string or objects in an array.
- TyNSRangePointer
- Tyunichar
- TyNSTextCheckingTypes
- TyNSUserActivityPersistentIdentifier
- TyCodableAttributedStringKeyA type alias for attribute keys that are both encodable and decodable.
- TyCodableWithConfigurationA type that can convert itself into and out of an external representation with the help of a configuration that handles encoding contained types.
- TyErrorPointer
- TyMutableURLRequestAn alias for `NSMutableURLRequest`.
- TyNSErrorPointer
- TyObservableObjectA type alias for the Combine framework's type for an object with a publisher that emits before the object has changed.
- TyPublishedA type alias for the Combine framework's type that publishes a property marked with an attribute.
- Tyuuid_string_t
- Tyuuid_t