Вопрос архитектуры MVC для приложения Mac - PullRequest
0 голосов
/ 27 ноября 2008

У меня есть класс контроллера, из которого я вызываю метод класса модели. Теперь из этого метода класса модели я хочу постоянно обновлять объект textView, который является членом данных класса контроллера. У меня есть метод в классе контроллера для редактирования этого textView. Я попытался создать объект контроллера из метода класса модели и отредактировал textView. Хотя я не получаю никаких ошибок, но это не отображает текст в textView. Как получить класс модели использовать метод класса контроллера для непрерывного отображения текста .. ?? Это то, что я создаю объект локального контроллера и ссылаюсь на его textView вместо исходного объекта контроллера.

Файл Controller.m:

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

Файл Model.m:

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

1 Ответ

3 голосов
/ 27 ноября 2008

Вы должны изучить использование KVO - Key Value Observing - таким образом, вы можете попросить наблюдателя сделать всю работу за вас.

Интересно, если ваше соединение с NSTextView отсутствует - оно не выдаст ошибку, если вы попытаетесь передать сообщение нулевому объекту в Objective C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...