Up

# NSClassDescription class reference

### Authors

Richard Frith-Macdonald (`rfm@gnu.org`)

Copyright: (C) 2000 Free Software Foundation, Inc.

### Contents -

1. Software documentation for the NSClassDescription class
2. Software documentation for the NSObject(NSClassDescriptionPrimitives) category

# Software documentation for the NSClassDescription class

## NSClassDescription : NSObject

> Declared in:
>   Foundation/NSClassDescription.h

Availability: MacOS-X 10.0.0
Each instance of this class provides descriptive information for an Objective C class. This is used for key-value coding, a framework used in Cocoa for scripting with Objective-C objects. Scripting is available in GNUstep in many ways, however those implementations do not make use of class descriptions. Therefore the primary purpose of this class is to smooth the process of porting between GNUstep and other OpenStep-derived systems.
Method summary

- +classDescriptionForClass:
- +invalidateClassDescriptionCache
- +registerClassDescription:forClass:
- -attributeKeys
- -inverseForRelationshipKey:
- -toManyRelationshipKeys
- -toOneRelationshipKeys

### classDescriptionForClass:

+ (NSClassDescription*) classDescriptionForClass: (Class)aClass;
Availability: MacOS-X 10.0.0
Returns the class description for aClass . If there is no such description available, sends an `NSClassDescriptionNeededForClassNotification` (with aClass as its object) so that objects providing class descriptions can register one, and tries again to find one.
Returns `nil` if there is no description found.
Handles locking to ensure thread safety and ensures that the returned object will not be destroyed by other threads.

### invalidateClassDescriptionCache

+ (void) invalidateClassDescriptionCache;
Availability: MacOS-X 10.0.0
Invalidates the cache of class descriptions so the new descriptions will be fetched as required and begin to refill the cache. You need this only if you suspect that a class description should have changed.

### registerClassDescription: forClass:

+ (void) registerClassDescription: (NSClassDescription*)aDescription forClass: (Class)aClass;
Availability: MacOS-X 10.0.0
Registers aDescription for aClass... placing it in the cache and replacing any previous version.

### attributeKeys

- (NSArray*) attributeKeys;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Returns the attribute keys - default implementation returns `nil`.

### inverseForRelationshipKey:

- (NSString*) inverseForRelationshipKey: (NSString*)aKey;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Returns the inverse relationship keys - default implementation returns `nil`.

### toManyRelationshipKeys

- (NSArray*) toManyRelationshipKeys;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Returns the to many relationship keys - default implementation returns `nil`.

### toOneRelationshipKeys

- (NSArray*) toOneRelationshipKeys;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Returns the to one relationship keys - default implementation returns `nil`.

# Software documentation for the NSObject(NSClassDescriptionPrimitives) category

## NSObject(NSClassDescriptionPrimitives)

> Declared in:
>   Foundation/NSClassDescription.h

Availability: MacOS-X 10.0.0
Description forthcoming.
Method summary

- -attributeKeys
- -classDescription
- -inverseForRelationshipKey:
- -toManyRelationshipKeys
- -toOneRelationshipKeys

### attributeKeys

- (NSArray*) attributeKeys;
Availability: MacOS-X 10.0.0
Returns the attribute keys supplied by the NSClassDescription object for the receivers class.

### classDescription

- (NSClassDescription*) classDescription;
Availability: MacOS-X 10.0.0
Returns the NSClassDescription object for the receivers class.

### inverseForRelationshipKey:

- (NSString*) inverseForRelationshipKey: (NSString*)aKey;
Availability: MacOS-X 10.0.0
Returns the inverse relationship keys supplied by the NSClassDescription object for the receivers class.

### toManyRelationshipKeys

- (NSArray*) toManyRelationshipKeys;
Availability: MacOS-X 10.0.0
Returns the to many relationship keys supplied by the NSClassDescription object for the receivers class.

### toOneRelationshipKeys

- (NSArray*) toOneRelationshipKeys;
Availability: MacOS-X 10.0.0
Returns the to one relationship keys supplied by the NSClassDescription object for the receivers class.

Up