0

我试图了解 NSArrayController 的工作原理......

  • 当我创建一个 NSMutableArray“employeeArray”来保存“Person”对象时。 在此处输入图像描述
  • 我在 GUI 中使用 NSArrayController 并与“employeeArray”绑定。 在此处输入图像描述
  • 我添加了两个按钮,用于在“employeeArray”中添加和删除“Person”对象。两个按钮都与接收到的 NSArrayController 的“add:”和“remove:”动作绑定。 在此处输入图像描述
  • 为了在“employeeArray”中添加/删除“Person”对象时做其他事情,我添加了两个方法:
    • (void)insertObject:(Person *)p inEmployeeArrayAtIndex:(NSUInteger)index;
    • (void)removeObjectFromEmployeeArrayAtIndex:(NSUInteger)index;

问题:

  1. 我没有做任何事情(写任何代码)让 NSArrayController 知道上面的两种方法,为什么当我点击添加/删除按钮时它们会自动调用?发生了什么?
  2. NSArrayController 使用什么添加/删除方法?
  3. NSArrayController 是否足够聪明以识别这些方法?如果我随机修改了方法名称,它会被正确调用吗?
4

1 回答 1

0

我想我终于明白了:

通过遵循“键值编码访问器方法模式”。NSArrayController 足够聪明,可以自动识别“插入”“删除”方法。

如果您在不遵循访问器模式的情况下更改方法名称。不起作用。

于 2013-10-20T13:41:52.113 回答