




 
An optional function that is called to initialize the Objective-C foreign object.
An optional Objective-C foreign object pointer for the object.
The abstract class 
standard-objc-object
 provides the framework for subclasses to implement an Objective-C class. Subclasses are typically defined using define-objc-class, which allows the Objective-C class name to be specified. Instances of such a subclass have an associated Objective-C foreign object whose pointer can be retrieved using the objc-object-pointer accessor. The function objc-object-from-pointer can be used to obtain the object again from the Objective-C foreign pointer.
There are two ways that subclasses of 
standard-objc-object
 can be made:
Via 
make-instance
. In this case, the Objective-C object is allocated automatically by calling the Objective-C class's 
"alloc"
 method. If the 
init-function
 initarg is not specified, the object is initialized by calling its 
"init"
 method. If the 
init-function
 initarg is specified, it is called during initialization with the newly allocated object and it should call the appropriate initialization method for that object and return its result. This allows a specific initialization method, such as 
"initWithFrame:"
, to be called if required.
Via the Objective-C class's 
"allocWithZone:"
 method (or a method such as 
"alloc"
 that calls 
"allocWithZone:"
). In this case, an instance of the subclass of 
standard-objc-object 
is made with the value of the 
pointer
 initarg being a pointer to the newly allocated Objective-C foreign object.