2012-01-26 3 views
10

Я слышал, что проверка орфографии Apple для UITextView поддерживает регистрацию того, что вы вводите в отдельных приложениях. У меня есть безопасное приложение, где проверка орфографии является полезной функцией, однако я не хочу, чтобы новые слова регистрировались где-то вне моего приложения. Может ли кто-нибудь отсылать меня к справочному документу Apple или техническому описанию того, какая информация захватывается проверкой орфографии, и где она также захвачена?Какая информация хранится в iOS Spell Checker?

+3

cool question :) – Danra

ответ

2

Я не знаю окончательно, но с использованием fseventer, изучая слово «Aple» в TextEdit сохраняет это слово до ~/Library/Spelling/LocalDictionary. Игнорирование слова, похоже, не изменяет файловую систему вообще, и действительно, если документ закрыт и не сохранен, и новый документ с этим ранее игнорируемым словом открывается, он больше не игнорируется. Это согласуется с +learnWord:, являющимся методом класса, и -ignoreWord: является методом экземпляра. Поэтому для обеспечения безопасности вы, вероятно, никогда не сможете позвонить +learnWord: и вместо этого иметь собственный бэкэнд, чтобы настойчиво/безопасно хранить список игнорируемых слов.

+0

Интересно ... делает догадкиForWordRange: inString: язык: или завершениеForPartialWordRange: inString: язык: есть какие-либо действия FS? Если нет, тогда должно быть возможно написать мой собственный подкласс UITextView, который проверяет орфографию без обучения. (моя фактическая цель) – BadPirate

3

Не уверен, что это очень помогает, но вы можете сделать проверку вручную с UITextChecker класса, который позволяет задать список игнорируемых слов заклинание:

- (void)setIgnoredWords:(NSArray *)words 

Подробнее здесь: https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextChecker_Class/Reference/Reference.html

Вы также можете проверить имеет ли слово было изучено с:

+ (BOOL)hasLearnedWord:(NSString *)word 
+0

Бит, связанный здесь, но можно ли автоматически принимать все слова с ошибками, используя UITextChecker? –

+0

Да, просто позвоните + learnWord (NSString *) для каждого нового слова. – danielbeard

+0

Я вижу, но говорю определенное слово. В UITextField вместо орфографии вместо слова «яблоко» написано «aple». Если я вызову learnWord (NSSString *), это автоматически изменит его на «яблоко»? –

Смежные вопросы