Método de acceso indexado pyobjc con rango

Estoy intentando implementar un método de acceso indexado para mi clase de modelo en Python, segúnla guía de KVC. Quiero usar el método de rango opcional, para cargar varios objetos a la vez por razones de rendimiento. El método lleva un puntero a un búfer C-array en el que mi método necesita copiar los objetos. He intentado algo como lo siguiente, que no funciona. ¿Cómo logro esto?

@objc.accessor    # i've also tried @objc.signature('v@:o^@')
def getFoos_range_(self, range):
    return self._some_array[range.location:range.location + range.length]

Editar: Finalmente encontré eltipo codificaciones de referencia Después de que Apple movió todos los documentos. Después de leer eso, intenté esto:

@objc.signature('v@:N^@@')
def getFoos_range_(self, buf, range):

pero esto tampoco parece funcionar. Se supone que el primer argumento es un puntero a una matriz C, pero la longitud es desconocida hasta el tiempo de ejecución, por lo que no sabía exactamente cómo construir la codificación de tipo correcta. Lo intenté'v@:N^[1000@]@' Solo para ver, y eso tampoco funcionó.

Mi objeto modelo está vinculado a la matriz de contenido de un controlador NSArray que controla una vista de tabla. No parece estar llamando a este método en absoluto, tal vez porque espera una firma diferente a la que proporciona el puente. ¿Alguna sugerencia?

Respuestas a la pregunta(1)

Su respuesta a la pregunta