2008-11-27 3 views
0

J'ai une classe de contrôleur à partir de laquelle j'appelle une méthode de classe de modèle. Maintenant, à partir de cette méthode de classe de modèle, je veux mettre à jour l'objet textView qui est un membre de données de la classe de contrôleur en continu. J'ai la méthode dans la classe de contrôleur pour éditer ce textView. J'ai essayé de créer un objet contrôleur à partir de la méthode de classe de modèle et j'ai édité le textView. Bien que je ne reçois aucune erreur, mais ce n'est pas afficher le texte dans le textView. Comment est-ce que j'obtiens la méthode de classe de contrôleur de classe de modèle pour afficher le texte continuellement. Est-ce que je crée un objet contrôleur local et fait référence à son textView au lieu de l'objet contrôleur d'origine.Question d'architecture MVC pour l'application Mac

fichier Controller.m:

- (void) notifyContentHasChanged:(NSInteger) block { 
    NSString *str; 
    str = [NSString stringWithFormat:@"Block Written Successfully: %d\n", block]; 
    [data insertText:str]; 
} 

fichier Model.m:

Controller * c = [[Controller alloc] init]; 
while (USB_SUCCESS(status)){ 
    DfuBlockCnt++; 
    printf("\nBlocks Written Successfully: %d",DfuBlockCnt); 
    [c notifyContentHasChanged:DfuBlockCnt]; 
} 

Répondre

3

Vous devriez regarder dans KVO - Valeur clé d'observation - de cette façon vous pouvez avoir un observateur effectuer toutes les démarches travailler pour vous.

Je me demande si votre connexion à NSTextView est manquante - il ne vous donnera pas une erreur si vous essayez de transmettre un message à un objet nul dans l'objectif C.