La convalida è una delle cose più importanti di cui ci occupiamo nel nostro codice, quindi dovremmo gestirla nel modo più semplice... tuffiamoci dentro
Abbiamo un utente ... l'utente deve accedere con (il suo) nome e password, abbiamo un ruolo (il nome deve essere di almeno 3 lettere, la password deve essere di almeno 6 lettere) il mio codice prima era qualcosa come l'immagine successiva
Ora il nostro codice funziona bene ma è difficile da testare, difficile da riutilizzare ... quindi rendiamolo facile ... Per prima cosa dovremmo creare una struttura responsabile della convalida dei nostri dati
la nostra struttura ha due funzioni statiche ... una per convalidare il nome e l'altra per la password, ognuna lancia se c'è un errore e restituisce il valore di String se non si verifica alcun lancio .
Dopo aver implementato le nostre funzioni, dovremmo lanciare qualsiasi cosa confermare il protocollo di errore , che è definito da apple come segue.
Quindi cosa confermerà il protocollo di errore nel nostro caso? la risposta è … (musica di suspense) … Enum, definiamo un enum che conferma il protocollo di errore e riporta i nostri casi di errore.
Ora torniamo alla nostra struttura ValidationService e generiamo l'errore per ogni caso.
Ora torniamo a makeRequest() nella nostra classe e convalidiamo qualcosa del genere.
Poiché le nostre funzioni in ValidateService sono throw, mettiamo try prima di esso e nel blocco do-catch , quindi se una funzione lanciala va a catch block che troviamo l'errore e lo gestiamo ... quindi il nostro metodo showError si aspetta String da noi non Error quindi noi torna al nostro Enum ed estendilo così
Ora torna al nostro metodo makeRequest e mostra il messaggio di stringa
Ora questo è il nostro codice finale
Successivamente parleremo di continuare con questo codice per utilizzare Unit Test Insha'Allah.
: Ciclo dall'avvio dell'app allo spegnimento: usabilità gestendo la memoria o i dati ⬆️ La sicurezza può essere elaborata UIApplication, situazione AppDelegate: definisce le funzioni in cui l'oggetto AppDelegate riceve il messaggio inviato dall'oggetto UIApplication ed esegue ciascuna Non in esecuzione: lo stato in cui l'app non è in esecuzione Inattivo: Lo stato in cui l'app è in esecuzione ma non vengono ricevuti eventiActive: lo stato in cui l'app è in esecuzione e si verifica un eventoBackground: lo stato in cui l'app è in background ma il codice viene eseguitoSuspened: lo stato in cui l'app è in background e non esegue codice per essere funzioni delegate nel file AppDelegate.swift SceneDelegate Per rispondere bene alla funzione di scena multipla supportata da iOS 13 in poi AppDelegate / SceneDelegate AppDelegate 1.
⭐ all'avvio dell'app L'ordine in cui viene chiamato AppDelegate quando l'app viene toccata e avviata per la prima volta. func application(_:willFinishLaunchingWithOptions) func application(_:didFinishLaunchingWithOptions:) func applicationDidBecomeActive(UIApplication) ⭐ app in background Questo è l'ordine in cui AppDelegate viene chiamato quando l'app viene spostata in background.
Il passaggio a una nuova carriera può essere estremamente impegnativo se provi a farlo da solo. È importante trovare partner responsabili che abbiano il tuo stesso livello di apprendimento, che condividano obiettivi, tenacia e determinazione simili.
Spesso ci troviamo a lottare per implementare ciò che sappiamo essere buono per noi. Dal dire a un altro significativo che li amiamo al ricordare di parlare come un pirata, ci saranno sempre quelli che affermeranno che un giorno, una settimana o un mese di eventi non è necessario perché stanno già facendo quelle cose.
Nel mondo frenetico e competitivo di oggi, la propria carriera gioca un ruolo significativo nella crescita personale, nella stabilità finanziaria e nella soddisfazione generale della vita. Tuttavia, molte persone si trovano intrappolate in un ciclo inesorabile di stagnazione e insoddisfazione, che si esauriscono gradualmente nella loro vita professionale.
Ehi, cibernetici! Bentornati alla serie OSINT per la caccia alle minacce. Nel primo articolo, ti ho fornito una panoramica di OSINT e della sua importanza nella caccia alle minacce.