SetNeedsDisplay no funciona

Vi muchos hilos relacionados con este problema, pero ninguno aborda mi caso (creo).

Mi caso debe ser simple, tengo una costumbre.UIView en mi controlador, desde mi controlador, uso el [self.myView setNeedsDisplay] y funciona perfectamente.

Estoy teniendo problemas cuando estoy tratando de llamar a esto desde dentro de laUIView en sí ... Tengo una notificación que se está enviando desde otra clase y mi Vista la está recibiendo (esto funciona) con la información que pasa, actualizo las propiedades internas de esta vista y estoy llamando a la [autosetNeedsDisplay] deseando actualizar mi pantalla con los nuevos estados, pero no pasa nada, utilicé unNSLOG dentro de midrawRec método, y no se está llamando en este momento, solo se llama cuando mi clase de controlador llama alsetNeedsDisplay, y cuando eso sucede, la actualización que debería haber ocurrido antes se muestra en la pantalla ... No sé por qué no se actualiza antes ...

Aquí hay algunos códigos:

Mi controlador pide una actualización: (funciona bien!)

- (void)addNodeToNetwork:(DTINode *)node
{
[self.myNetwork addNodeInTheNetwork:node];
self.gridView.nodesToDraw = [self.myNetwork.nodesInNetwork copy];

CGRect tempRec = CGRectMake(node.nodePosition.x, node.nodePosition.y node.nodePosition.x, node.nodePosition.y);
NSValue *rectObj = [NSValue valueWithCGRect:tempRec]; //transforma o cgrect num objeto

[self.gridView.fatherNodes setValue:rectObj forKey:node.nodeName];
[self.gridView setNeedsDisplay];
}

Mi método de notificación tratando de actualizar mi dibujo: (¡No funciona!)

- (void) receiveTestNotification:(NSNotification *) notification
{
NSDictionary *userInfo = notification.userInfo;
DTINode *notificationNode = [userInfo objectForKey:@"myNode"];
NSLog(@"Im Here!");
for (DTINode *node in self.nodesToDraw)
{
    NSLog(@"Here too");

    if(node.nodeName == notificationNode.fatherNode)
    {
        CGRect temp = CGRectMake(notificationNode.nodePosition.x, notificationNode.nodePosition.y, node.nodePosition.x, node.nodePosition.y);
        NSValue *tempObj = [NSValue valueWithCGRect:temp];
        [self.fatherNodes setObject:tempObj forKey:notificationNode.nodeName];
        [self setNeedsDisplay];
        NSLog(@"Should REDRAW NOW!"); // It print this but no drawing is made!
    }
}
}

No estoy pegando midrawRect Aquí porque funciona, el problema es que no se llama desde dentro de miUIView setNeedsDisplay!

¿Alguien tiene alguna idea de por qué esto no funciona?

Respuestas a la pregunta(2)

Su respuesta a la pregunta