我有一个 NSArrayController 配置了模式“实体”,其中包含选择的“人员”和“准备内容”类型的核心数据实体。所有其他属性都是默认属性。正如预期的那样,当我创建新的人员实体(通过单击按钮)时,这个数组控制器会更新它的排列对象:
-(IBAction)addEntity:(id)sender{
Person* new = [NSEntityDescription insertNewObjectForEntityForName:@"Person"
inManagedObjectContext:[self managedObjectContext]];
new.text = @"text";
new.date = [NSDate date];
}
我已将基于视图的 NSTableView 的内容绑定到此 arrayController 的“arrangedObjects”属性,以显示人员。在一个列中,我有一个可编辑的(但默认情况下)NSTextField 绑定到 TableCellView 的“objectValue.text”属性。
如果我在表格中编辑“文本”属性并添加另一个人(当表格单元仍处于编辑模式时)表格失去焦点,编辑将结束并且新人显示在表格中。一切看起来都很好。
但是,如果我想添加另一个人,arrayController 不会更新排列对象属性(我发现不再调用 arrayController 的 setContent:)。
这是预期的行为吗?