我终于完成了我的第一个小 osx 应用程序,我为自己感到骄傲!但是我仍然对我真正尝试遵循的 obj-c MVC 方法感到困惑。阅读所有不同的教程并没有给我最后的线索。我使用 Hillegass 的书“MAC OS X 的可可编程”。以下模式用于将用户输入与我的控制器类中的tableview
via绑定:NSArrayController
- (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 的理解是模型应该包含稍后由控制器处理的所有信息。