Compatibile con Xcode 8

UserDefault: salvare piccole informazioni in maniera veloce

ENTRA NEL NOSTRO GRUPPO FACEBOOK

×

Corso creare applicazioni per iOS con il linguaggio Swift

Spesso ti capiterà di dover salvare piccole quantità di informazioni dell'utente e di non voler utilizzare sistemi complicati come potrebbero essere il CoreData, i file Plist ecc. Per questo motivo, un sistema semplice e al tempo stesso potente, risulta essere l'UserDefault. L'UserDefaults è una classe che permette di interagire con un "Database" (in realtà è un [...]

Torna a: Corso creare applicazioni per iOS con il linguaggio Swift > Salvare dati in Memoria
  • Alain Desitter

    Ciao Beppe,
    ho la classica schermata di login con campi User e Password ed il flag “Ricordami user e password”
    per evitare il doversi inserire sempre ad ogni avvio e per agevolare l’utente, va bene se salvo questi 3 dati nell’NSUserDefault oppure è meglio utilizzare un’altra strada?

    • Ciao Alain,
      User e Pass sono di quei dati che non dovrebbero essere salvati in memoria, né nell’NSUserDefaults né nel Core Data.
      Puoi provare ad utilizzare soluzioni differenti tipo l’utilizzo del TouchID per sbloccare l’accesso all’applicazione ad un utente locale.

      Buona programmazione,
      Giuseppe Sapienza

  • Alain Desitter

    Ciao,
    sto facendo un po’ di test, la lezione è stata perfetta e la memorizzazione mi funziona, ma mi sono scontrato con la realtà dell’oggetto switch.

    volevo provare a memorizzare lo stato dell’oggetto switch per modificarlo in fase di caricamento, ma non riesco ad utilizzare la proprietà dell’oggetto.

    quando salvo l’oggetto MySwitch.on mi memorizza false oppure true, quando leggo il dato mi restituisce 0 o 1.

    come faccio a dire all’oggetto switch di prendere 0 o 1?

    se scrivo a mano OggettoSwitch.on = true mi funziona

    se scrivo la costante precedentemente salvata come true Oggettoswitch.on = costanteswitch mi da il seguente errore:

    Cannot assign value of type ‘AnyObject?’ to type ‘Bool’

    dove ho sbagliato?

    • Ciao Alain,
      Puoi, in maniera abbastanza semplice, creare una funzione per cui: se il valore restituito è 0 allora vuol dire che è false, altrimenti è true. In questo modo sistemi il valore allo switch.

      func isTrue(value: Int) -> Bool {
             if value == 0 {return false}
             return true
      }

      Alla prossima e buona programmazione,
      Giuseppe

      • Alain Desitter

        ok, grazie mille, funziona alla grande

Start typing and press Enter to search