2010-01-18 5 views
2

Я хочу построить NSTokenField, который работает точно так же, как поле получателя в Mail.app. Я знаю, как искать адресную книгу для имен и электронных писем. Это, наверное, очень плохие вопросы noob, извините за это.Mail.app как NSTokenField для имен и писем

  1. Как переформатировать мой результаты поиска массив, чтобы получить элементы в формате «Имя < электронной почты>» (например, результаты автоматического завершения в Mail.app)

  2. Как метод работы NSTokenField Завершение ? Я не могу найти пример кода, который работает для меня. Можете ли вы объяснить это или дать мне код?

ответ

4

Это было время, так как я использовал NSTokenField, но здесь идет:

объявлений. 2. У вас есть метод делегата NSTokenField, который называется tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:, который должен возвращать массив возможных соревнований предоставленной подстроки. Способ его работы заключается в том, что вы устанавливаете свой класс как делегат вашего NSTokenField и переопределяете этот метод, и в нем вы просматриваете свою базу данных для записей, которые соответствуют предоставленной подстроке, и возвращают массив возможных совпадений. Какао должно сделать все остальное.

Объявление. 1. еще раз NSTokenField Делегат может иметь метод под названием tokenField:displayStringForRepresentedObject:, который позволяет отображать некоторый объект (например, адрес электронной почты) в любом формате, который вы хотите (так что объект будет просто электронной почтой, и вы можете вернуть строку в формате «Имя» из этого метод, набрав имя для данного электронного письма в вашей базе данных).

Надеюсь, что это поможет!