Cocoa绑定,延迟编辑提交,直到用户点击“确定”

时间:2010-11-19 01:23:32

标签: objective-c cocoa-bindings

我有一个包含多个字段的编辑窗口,所有字段都绑定到NSObjectController的'content'控制器键,后者又绑定到NSArrayController的'selection'控制器键。我还有一个NSTableView,绑定到相同的NSArrayController,以及它的选择。

在我的编辑窗口中,只要用户离开文本字段,该值就会传播回NSTableView。在用户在编辑窗口中单击“确定”之前,如何停止提交的值?

2 个答案:

答案 0 :(得分:1)

您可以使用临时NSMutableDictionary对象将值存储在编辑窗口中,然后当用户单击“确定”时,使用字典的值实例化对象:即:

NSManagedObject* obj = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject"                                             
                        inManagedObjectContext: self.managedObjectContext];

[obj setValuesForKeysWithDictionary:tempObject];

答案 1 :(得分:0)

我建议在编辑窗口中使用瞬态值。然后,当用户点击“确定”时,实际分配值。