NSClassDescription is an abstract class that provides the interface for querying the relationships and properties of a class. Concrete subclasses of
NSClassDescription provide the available attributes of objects of a particular class and the relationships between that class and other classes. Defining these relationships between classes allows for more intelligent and flexible manipulation of objects with key-value coding.
- macOS 10.0+
It is important to note that there are no class descriptions by default. To use
NSClassDescription objects in your code you have to implement them for your model classes. For all concrete subclasses, you must provide implementations for all instance methods of
NSClassDescription provides only the implementation for the class methods that maintain the cache of registered class descriptions.) Once created, you must register a class description with the
You can use the
NSString objects in the arrays returned by methods such as
toManyRelationshipKeys to access—using key-value coding—the properties of an instance of the class to which a class description object corresponds. For more about attributes and relationships, see Cocoa Fundamentals Guide. For more about key-value coding, see Key-Value Coding Programming Guide.
NSScriptClassDescription, which is used to map the relationships between scriptable classes, is the only concrete subclass of
NSClassDescription provided as part of the Cocoa framework.