Sto provando a creare un sistema di correzione automatica, quindi devo essere in grado di eliminare l'ultima parola digitata e sostituirla con quella corretta. La mia soluzione:Rimuovere in modo efficiente l'ultima parola da una stringa in Swift
Questo metodo viene chiamato dopo ogni sequenza di tasti, e se lo spazio viene premuto, corregge la parola. Il mio problema arriva quando la stringa di testo diventa più lunga di circa 20 parole. Ci vuole un po 'perché riempia l'array ogni volta che viene premuto un carattere, e inizia a non essere in grado di usarlo. C'è un modo più efficiente ed elegante di scrivere questa funzione in Swift? Apprezzerei qualsiasi aiuto!
Dang ! Hai semplificato tutto il mio codice in 3 righe, e funziona molto meglio! Terrò aperta la pagina nel caso in cui tu pensi di più, ma per ora non ho problemi con lag in un grande paragrafo che ho digitato. L'unica cosa di cui sono preoccupato è che il mio dizionario da cui viene controllato è lungo solo 10 parole perché è stato un test prima di creare l'elenco completo. Pensi che questo codice rimarrà efficiente quando l'elenco delle parole diventa molto più lungo? – SomeGuy
@SomeGuy - I dizionari sono progettati per essere ottimizzati, quindi la ricerca non dovrebbe inibire troppo le prestazioni. Detto questo, avere un dizionario estremamente grande e l'elaborazione con ogni colpo di chiave potrebbe mostrare un impatto sulle prestazioni. Non riesco a trovare alcun buon punto di riferimento rapido dalla ricerca in giro, quindi non posso davvero dire con certezza. – Logan
Esiste un modo più efficiente di pensare a creare un sistema di correzione automatica? Ho appena creato coppie di valori chiave per cose come la chiave che è la chiave e che esiste il valore, quindi se l'utente digita te, si modifica lì. – SomeGuy