Я реализовал NSTokenField, который использует некоторые настраиваемые объекты данных для отображения динамических данных. Делегат настроен нормально и отображает правильные значения токена.
Я также реализовал меню для токенов, которое позволяет выбрать формат, используемый для отображения каждого токена. Однако моя проблема в том, что я не могу заставить NSTokenField немедленно реагировать на эти изменения и перерисовывать токен в новом выбранном формате.
Если я щелкну за пределами NSTokenField, чтобы он отказался от первого респондента, он немедленно перерисовывается. Я также могу сделать это программно, явно установив для первого респондента значение nil. Единственная проблема с этим заключается в том, что NSTokenField теряет фокус - и переназначение его в качестве первого респондента выбирает все в поле, поэтому пользователь может случайно перезаписать все содержимое.
Итак, мой вопрос: есть ли способ просто запустить NSTokenField для перерисовки его содержимого без изменения фокуса и выбора?