【发布时间】:2013-02-24 17:23:51
【问题描述】:
我终于完成了我的第一个小 osx 应用程序,我为自己感到骄傲!但是我仍然对我真正尝试遵循的 obj-c MVC 方法感到困惑。阅读所有不同的教程并没有给我最后的线索。
我使用 Hillegass 的书“MAC OS X 的可可编程”。以下模式用于在我的控制器类中通过NSArrayController 将用户输入与tableview 绑定:
- (IBAction)pushAdd:(id)sender {
ToDoItem *newToDo = [[ToDoItem alloc] init];
[newToDo setValue:[_inputName stringValue] forKey:@"name"];
[newToDo setValue:[NSNumber numberWithDouble:[_inputNomValue doubleValue]] forKey:@"nomValue"];
[newToDo setValue:[NSNumber numberWithDouble:[_inputTolerancePlus doubleValue]] forKey:@"tolerancePlus"];
[newToDo setValue:[NSNumber numberWithDouble:[_inputToleranceMinus doubleValue]] forKey:@"toleranceMinus"];
[newToDo setValue:[NSString stringWithFormat:@"%@",[_inputDistribution titleOfSelectedItem]] forKey:@"distribution"];
[newToDo setValue:[NSString stringWithFormat:@"%@",[_inputDirection titleOfSelectedItem]] forKey:@"direction"];
[toDoItemArrayController addObject:newToDo];
...
我的问题:
由于我的模型类ToDoItem 用作创建ToDoItem 实体的蓝图,因此完整信息存储在toDoItemArrayController 控制器中(不在模型中)。
但是如果我需要在其他地方使用数组信息怎么办?我是否需要在我的ToDoItem 模型类中定义一个额外的数组,其中包含来自toDoItemArrayController 的所有信息?到目前为止,我对 MVC 的理解是模型应该包含稍后由控制器处理的所有信息。
【问题讨论】:
标签: objective-c macos model-view-controller model