Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Mac应用的MVC架构问题_Objective C_Cocoa_Macos - Fatal编程技术网

Objective c Mac应用的MVC架构问题

Objective c Mac应用的MVC架构问题,objective-c,cocoa,macos,Objective C,Cocoa,Macos,我有一个控制器类,从中调用模型类的方法。现在,通过这个模型类方法,我想不断更新textView对象,它是控制器类的数据成员。我在控制器类中有一个方法来编辑这个文本视图。我尝试从模型类方法创建控制器对象,并编辑textView。虽然我没有得到任何错误,但它并没有在textView中显示文本。如何让模型类使用控制器类方法连续显示文本。。??是因为我正在创建一个本地控制器对象并引用其textView而不是原始控制器对象 Controller.m文件: - (void) notifyContentHas

我有一个控制器类,从中调用模型类的方法。现在,通过这个模型类方法,我想不断更新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的连接-如果您尝试将消息传递给目标C中的nil对象,它不会给您带来错误。

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

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