2012-01-26 13 views
10

He oído que el corrector ortográfico de Apple para UITextView mantiene algún tipo de registro de lo que escribe en aplicaciones individuales. Tengo una aplicación segura donde la revisión ortográfica es una característica útil, sin embargo, no quiero que se registren palabras nuevas en algún lugar fuera de mi aplicación. ¿Puede alguien referirme a un documento de referencia de Apple o una descripción técnica de qué información se captura mediante el corrector ortográfico y dónde se captura?¿Qué información almacena iOS Spell Checker?

+3

pregunta interesante :) – Danra

Respuesta

2

no sé definitivamente, pero utilizando fseventer, el aprendizaje de la palabra "aple" en TextEdit guarda esa palabra en ~/Library/Spelling/LocalDictionary. Ignorar una palabra parece no modificar en absoluto el sistema de archivos, y de hecho, si el documento se cierra y no se guarda, y se abre un nuevo documento con esa palabra previamente ignorada, ya no se ignorará. Esto es coherente con +learnWord: siendo un método de clase, y -ignoreWord: siendo un método de instancia. Por lo tanto, para mayor seguridad, probablemente nunca pueda llamar al +learnWord:, y en su lugar tener su propio backend para almacenar de forma segura/persistente una lista de palabras ignoradas.

+0

Interesante ... does guessesForWordRange: inString: language: o terminationsForPartialWordRange: inString: language: tiene alguna actividad de FS? Si no, entonces debería ser posible escribir mi propia subclase UITextView que corrector ortográfico sin aprender. (mi objetivo real) – BadPirate

3

No estoy seguro si esto ayuda mucho, pero que podría hacer la corrección ortográfica de forma manual con la clase UITextChecker que permite el establecimiento de una lista de palabras ignoradas:

- (void)setIgnoredWords:(NSArray *)words 

Más aquí: https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextChecker_Class/Reference/Reference.html

También puede comprobar si la palabra se ha aprendido con:

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

Bit relacionado aquí, pero ¿sería posible aceptar automáticamente todas las palabras mal escritas usando UITextChecker? –

+0

Sí, simplemente llame a + learnWord (NSString *) para cada nueva palabra. – danielbeard

+0

Veo pero digo una palabra determinada En un UITextField está mal escrito, por ejemplo, en lugar de "apple", decía "aple". Si llamo learnWord (NSSString *), ¿eso lo cambiará automáticamente a "apple"? –

Cuestiones relacionadas