Я попытался подклассифицировать UILexicon, чтобы я мог создавать свои собственные записи в части init. Однако массив записей читается только. Как я могу создать свой собственный источник слов для моей настраиваемой панели прокрутки в расширении клавиатуры (iOS 8)?Создайте собственные записи UILexicon
ответ
Не похоже, что Apple разработала UILexicon и UILexiconEntry для изменения или создания изменяемых копий. Я разрабатываю в Swift, и его реализация не позволяет создавать новые объекты UILexiconEntry, и хотя я могу создать экземпляр нового объекта UILexicon, я не могу добавить его в список записей.
Так что кажется разумным, что интерфейсы Objective C ведут себя аналогичным образом, и документация подтверждает это, заявив, что «Apple намерена рассмотреть слова в объекте лексикона как дополнение к лексиконе автокоррекции/предложения вашего собственного дизайна».
К счастью, создание собственного хранилища для записей Lexicon очень просто, NSDictionary может их хранить непосредственно. Начните с загрузки его с помощью записей из существующего списка UILexicon, используя строку userInput в качестве ключа для каждой записи и строку item.userInput в качестве объекта. Вот пример в Swift, который должен быть читаемым для объектного разработчика C.
var myLexicon = NSMutableDictionary()
self.requestSupplementaryLexiconWithCompletion { (theLexicon: UILexicon!) -> Void in
let lexiconEntries = theLexicon.entries
// Completion handler
for item in lexiconEntries {
myLexicon.setObject(item.documentText, forKey: item.userInput)
}
}
Обратите внимание, что дублирование записей отфильтровывается из словарей с помощью NSDictionary, но это не должно быть проблемой, потому что каждый UserInput должен выводить только один DocumentText.
- 1. Создайте собственные скриптовые модули
- 2. Создайте собственные теги?
- 3. Создайте собственные команды unix
- 4. Создайте свои собственные столкновения MD5
- 5. Создайте собственные окна уведомлений Windows 10
- 6. Создайте собственные объекты-функции через vanilla js
- 7. Создайте собственные элементы управления в visual webgui
- 8. Имея проект maven, создайте собственные зависимости?
- 9. Создайте собственные примеры данных в LinqPad
- 10. Создайте собственные плагины или добавьте для netbeans
- 11. Создайте свои собственные ярлыки в RubyMine
- 12. UILexicon iOS 8 не работает должным образом
- 13. Показать собственные записи в виде сетки
- 14. Как выбрать собственные записи и записи друзей в одном запросе
- 15. Создайте наши собственные функции входа в asp.net без использования учетной записи по умолчанию для ASP.NET.
- 16. Собственные собственные векторы PCA и собственные значения
- 17. Rails 4/RSpec. Создайте собственные собственные аргументы, чтобы передать/исключить запуск определенных тестов?
- 18. Создайте мои собственные преимущества и использование стека данных ядра
- 19. Создайте собственные листы алгебры для печати и использования
- 20. Создайте собственные свойства, чтобы использовать Schema.org с RDFa Lite?
- 21. Создайте собственные скрипты java-скриптов для создания аудио-плеера
- 22. Создайте собственные файлы_ид в mongo GridFs, используя PHP
- 23. Создайте мои собственные варианты запуска с автозапуска компакт-дисков
- 24. Wordpress - Создайте собственные короткие коды для электронной почты
- 25. Создайте свои собственные теги/функции с помощью Erubis
- 26. PHP: Используйте Pecl/Pear или создайте собственные системы?
- 27. Создайте собственные методы linq для создания выражений sql
- 28. Android: Создайте свои собственные имена атрибутов в styles.xml
- 29. Firefox addon, создайте собственные страницы параметров (не простые-префы/предпочтения)
- 30. Создайте продукты (настраиваемые и простые) и установите собственные параметры