These functions may be used to create and destroy Objective-C objects, as well as to manage the reference counts of objects.
id NSAllocateObject(Class aClass, unsigned extraBytes, NSZone *zone)
id NSCopyObject(id object, unsigned extraBytes, NSZone *zone)
void NSDeallocateObject(id object)
BOOL NSDecrementExtraRefCountWasZero(id object)
unsigned NSExtraRefCount(id object)
void NSIncrementExtraRefCount(id object)
BOOL NSShouldRetainWithZone(id anObject, NSZone *requestedZone)