У меня есть NSTokenField
, который позволяет пользователю выбирать контакты (как в Mail.app).Таким образом, NSTextField привязан к массиву в моей model.recipient
переменной экземпляра.
Теперь пользователь может выбрать запись из списка автозаполнения, например, Joe Bloggs: joe@blogs.com
, и, как только он нажмет Введите , отобразится токен (Joe Bloggs)
, а model.recipients
теперь содержит BBContact
запись.
Теперь, если пользователь начинает вводить какие-то клавиши (чтобы отобразились предложения), а затем нажимает Tab вместо Введите токен со значением текста завершения (Joe Bloggs: joe@bloggs.com)
создан, и методы NSTokenFieldDelegate
не были вызваны, чтобы я мог ответить на это событие.Запись model.recipient
теперь содержит NSString
вместо записи BBContact
.
Любопытно, что метод делегата tokenField:shouldAddObjects:atIndex:
не вызывается, что я и ожидал, когда пользователь выходит изполе токена.