SetNeedsDisplay не работает

Я видел много тем, связанных с этой проблемой, но ни одна не касается моего случая (я думаю).

Мой случай должен быть простым, у меня есть CustomUIView в моем контроллере, из моего контроллера, я использую [self.myView setNeedsDisplay] и это прекрасно работает.

У меня возникают проблемы, когда я пытаюсь вызвать это изнутриUIView сам ... У меня есть уведомление, отправленное из другого класса, и оно получено моим представлением (это работает) с информацией, которую он передает, я обновляю внутренние свойства этого представления и затем я 'Я называю себяsetNeedsDisplay] желая обновить мой экран новыми состояниями, но ничего не происходит, я использовалNSLOG внутри моегоdrawRec метод, и он не вызывается в это время, он вызывается только когда мой класс контроллера вызываетsetNeedsDisplayи когда это произойдет, обновление, которое должно было произойти до того, будет показано на экране ... Я нене знаю, почему его не обновляют раньше ...

Вот некоторый код:

Мой контроллер запрашивает обновление: (работает нормально!)

- (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];
}

Мой метод уведомления пытается обновить мой рисунок: (Не работает!) Я '

- (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!
    }
}
}

я не вставляю своиdrawRect здесь, потому что это работает, проблема в том, что это не вызывается изнутри моего!UIView setNeedsDisplay

Кто-нибудь есть идеи, почему это не работает?

Ответы на вопрос(2)

Ваш ответ на вопрос