hidden - all ivars are hidden
exposed - all ivars are exposed (accessors are generated)
retained - all objects are retained
notretained - objects are NOT retained
readonly - all instance variable are read only
objects - treat all unknown types as objects
customarchive - do not generate archiving methods
nosuperarchive - do not call archiving in superclass
customdealloc - do not generate -dealloc method

Known types

All standard C types including NSPoint, NSSize, NSRect and NSRange are treated as non-objects. By default only id and Class types are treated as objects.