我有一个NSTokenField
允许用户选择联系人(就像在 Mail.app 中一样)。所以 NSTextField 绑定到我的model.recipient
实例变量中的一个数组。
用户现在可以从自动完成列表中选择一个条目,例如Joe Bloggs: joe@blogs.com
,一旦他点击Enter令牌(Joe Bloggs)
,就会显示并model.recipients
现在包含一个BBContact
条目。
现在,如果用户开始键入一些键(因此显示了建议),然后点击Tab而不是 Enter 带有完成文本值的令牌,(Joe Bloggs: joe@bloggs.com)
并且NSTokenFieldDelegate
没有调用方法,因此我可以响应此事件。该model.recipient
条目现在包含一个NSString
而不是一个BBContact
条目。
奇怪的是,委托方法tokenField:shouldAddObjects:atIndex:
没有被调用,这是我在用户退出令牌字段时所期望的。