Расширение клавиатуры без общих слов, без автозамены

Я работал над небольшим расширением клавиатуры, и теперь я достиг фазы реализации автозамены или чего-то, что покажет, что пользователь может пытаться написать. Клавиатура только для себя, поэтому просто датская.

В документации сказано, что UILexicon содержит некоторые общие слова, которых нет. В нем есть мои контакты, и даже это не работает. Единственное, что я получаю, это: morten=morten, где должно быть morten=Morten. Они все такие.

Затем я попробовал UITextChecker и попробовал это на игровой площадке (Swift, но клавиатура в ObjectiveC: import UIKit var str:String = "h" var textChecker:UITextChecker = UITextChecker(); var range:NSRange = NSMakeRange(0, 1) var lan:NSArray = UITextChecker.availableLanguages() var t:String = lan[1] as String var ar:NSArray = textChecker.completionsForPartialWordRange(range, inString: str, language: t)!

Это возвращает результаты на любом языке, кроме da_DK, что несколько странно.

Как мне это сделать? Должен ли я скачать датский словарь и использовать его в приложении, используя какую-то базу данных mysql? Мой код как-то не так, или UILexicon просто не работает для датского языка?


person Christian Lundtofte    schedule 30.12.2014    source источник


Ответы (1)


Попробуйте взглянуть на класс UITextChecker.

Это довольно просто использовать:

NSString * test = @"stavefej";

NSArray * suggestions = [self.spellChecker guessesForWordRange:NSMakeRange(0, [test length]) inString:test language:@"da_DK"];  
NSArray * autoCom = [self.spellChecker completionsForPartialWordRange:NSMakeRange(0, [test length])  inString:test language:@"da_DK"];
person EsbenB    schedule 16.04.2015
comment
Это действительно сработало. Я не уверен, почему то, что я пробовал, не сработало, но большое спасибо! (Приятный штрих с использованием датского слова: D) - person Christian Lundtofte; 16.04.2015
comment
UILexicon не предназначен для проверки орфографии, а только для аббревиатур и имен в вашем списке контактов :). - person EsbenB; 17.04.2015
comment
Документация звучит так, как будто она должна содержать общеупотребительные слова: Словарь общеупотребительных слов. Взято прямо с сайта developer.apple.com/library /prerelease/ios/documentation/UIKit/ - person Christian Lundtofte; 17.04.2015
comment
да. Можно было так читать. Однако распространенными словами в терминологии Apple являются такие вещи, как iphone = iPhone, ios = iOS и так далее. - person EsbenB; 20.04.2015
comment
Да, я узнал, но это довольно запутанно. Тем не менее, спасибо за помощь! - person Christian Lundtofte; 20.04.2015