Las variables instancia de los objetos de esta clase son:
@interface Element : NSObject <NSCoding> { unsigned int posI; //Posicion I en la matriz (renglon) unsigned int posJ; //Posicion J en la matriz (columna) Element *nextI; //Siguiente elemento (renglon) Element *forwardI;//Anterior elemento (renglon) Element *nextJ; //Siguiente elemento (columna) Element *forwardJ;//Anterior elemento (columna) id content; //Contenido del elemento } ... @endComo se aprecia en el listado anterior, las variables instancia de Element son posI y posJ que representan los índices i,j de posición de un elemento en una matriz. La variable nextI, hace referencia al siguiente elemento en el renglón. La variable forwardI, hace referencia al elemento anterior en el renglón. La variable nextJ, hace referencia al siguiente elemento en la columna. La variable forwardJ, hace referencia al elemento anterior en la columna. Y, finalmente, la variable content hace referencia al objeto que se desee almacenar en la matriz.
Esta clase mantiene una estrecha relación con elementos de la misma clase y, para el caso específico de PetrA, se mantiene una relación con la familia de clases derivada de la clase Figure.