Generated types for C types

Structure types

Structure are generated by objc.createStructType() and represent a C structure, such as NSPoint or CGRect.

Structure types are all separate types, directly inheriting from object, and behave like a mutable variant of collections.namedtuple().

The rest of this section describes StructureType, which defines the API of the structure types but does not exist as a real type.

class objc.StructureType(\**kwds)

A structure type.

_fields
A tuple with the field names for this structure. Every name
in *_fields* is present as an attribute of instances of the type.
__typestr__
The type encoding for this structure type
__getitem__(idx)
Return the *idx*-th element of the object. This also supports
slices.
__setitem__(idx, value)
Set the *idx*-th element of the object. This also supports
slice, but the assignment is not allowed to change the number
of elements.
copy()
Returns a deep copy of the structure, that is all field values
that are instances of a structure types are copied as well.
__pyobjc_copy__()
An alias for :meth:`copy`, for use by PyObjC.
_replace(\**kwds)
First create a copy of the object, then use the keyword arguments
to replace the values of some attributes.
_asdict()
Returns a dictionary where the keys are the values in :data:`_fields`
and the values are the corresponding attribute values.

Opaque pointer types

Opaque pointer are created by objc.createOpaquePointerType() and represent opaque pointers or handles, such as values of type ‘NSZone*’. Opaque pointers do not have further structure or behavior, they just exist as blobs of data that are returned from and passed to Objective-C functions or methods.

The rest of this section describes OpaquePointerType, which defines the API of the opaque pointer types but does not exist as a real type.

class objc.OpaquePointerType(cobject=None, c_void_p=None)

An opaque pointer type. Values are usually created by the PyObjC bridge, but can be created manually using one of the keyword arguments:

  • cobject: A PyCapsule object with name “objc.__opaque__” that represents an opaque pointer value.

  • c_void_p: An instance of ctypes.c_void_p or int that represents an opaque pointer value.

__typestr__
The type encoding for the opaque pointer type
__pointer__
An integer with the raw pointer value
__c_void_p__()
Returns a :class:`ctypes.c_void_p` instance with the raw pointer value
__cobject__()
Returns a PyCapsule object with name "objc.__opaque__" representing
the raw pointer value.