我有一个控制器类,从中可以调用模型类的方法。现在,从该模型类方法中,我要连续更新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];
}

最佳答案

您应该研究使用KVO-关键值观察-这样,您可以让观察员为您完成所有工作。

我想知道您与NSTextView的连接是否丢失-如果您尝试将消息传递给Objective C中的nil对象,它不会给您错误。

08-05 22:39