0Pricing
Objective-C iOS Development for Legacy & Enterprise Apps · Lezione

Salvare le preferenze con NSUserDefaults

Renda persistenti impostazioni leggere e preferenze dell'utente nelle app Objective-C usando NSUserDefaults, il più semplice archivio chiave-valore su iOS.

Salvare le preferenze con NSUserDefaults è una lezione Objective-C iOS Development for Legacy & Enterprise Apps gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Objective-C iOS Development for Legacy & Enterprise Apps, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Objective-C iOS Development for Legacy & Enterprise Apps include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

What is NSUserDefaults?

NSUserDefaults is a built-in key-value store for small pieces of data — settings, flags, and preferences. It persists automatically across app launches.

When to Use It

Use it for small, simple values:

  • User toggles (dark mode on/off)
  • Last selected tab
  • Onboarding-completed flag

Do NOT use it for large data or sensitive secrets.

The Standard Instance

Access the shared store through standardUserDefaults.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

Writing Values

Set values by key with typed setters.

[defaults setBool:YES forKey:@"darkMode"];
[defaults setInteger:5 forKey:@"launchCount"];
[defaults setObject:@"Ada" forKey:@"username"];

Reading Values

Read with matching getters. Missing keys return sensible defaults (NO, 0, nil).

BOOL dark = [defaults boolForKey:@"darkMode"];
NSInteger count = [defaults integerForKey:@"launchCount"];
NSString *name = [defaults stringForKey:@"username"];

Supported Types

NSUserDefaults stores property-list types only:

  • NSString, NSNumber, BOOL, integers, doubles
  • NSArray, NSDictionary (of plist types)
  • NSData, NSDate

Persistence is Automatic

Modern iOS writes changes to disk automatically. The old synchronize call is no longer needed and is deprecated.

// [defaults synchronize]; // no longer required

Registering Default Values

Provide fallback values for first launch with registerDefaults:. These apply only until the user changes them.

[defaults registerDefaults:@{@"darkMode": @NO, @"fontSize": @14}];

Removing a Value

Delete a stored key when it is no longer needed.

[defaults removeObjectForKey:@"username"];

Storing Custom Objects

To store a custom object, archive it to NSData first (it must conform to NSCoding), then save that data. NSUserDefaults cannot hold arbitrary objects directly.

Security Caveat

NSUserDefaults is not encrypted. Never store passwords, tokens, or other secrets there — use the Keychain for sensitive data.

Quick Check

Test your NSUserDefaults knowledge.

Recap

You learned NSUserDefaults persistence:

  • A simple key-value store for small preferences
  • Write with setBool:/setObject:, read with matching getters
  • Stores only property-list types
  • Persistence is automatic; synchronize is deprecated
  • Not encrypted — keep secrets in the Keychain

It is the go-to for lightweight settings.

Domande Frequenti

La lezione «Salvare le preferenze con NSUserDefaults» è gratuita?

Sì — il testo completo di «Salvare le preferenze con NSUserDefaults» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Objective-C iOS Development for Legacy & Enterprise Apps, passa a CoddyKit PRO. Il corso Objective-C iOS Development for Legacy & Enterprise Apps include 4 lezioni in totale.

Cosa imparerò in «Salvare le preferenze con NSUserDefaults»?

Renda persistenti impostazioni leggere e preferenze dell'utente nelle app Objective-C usando NSUserDefaults, il più semplice archivio chiave-valore su iOS. Eserciti Objective-C iOS Development for Legacy & Enterprise Apps con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Objective-C iOS Development for Legacy & Enterprise Apps?

Non è richiesta alcuna esperienza precedente. Objective-C iOS Development for Legacy & Enterprise Apps su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Salvare le preferenze con NSUserDefaults»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Objective-C iOS Development for Legacy & Enterprise Apps?

Sì. Ogni lezione Objective-C iOS Development for Legacy & Enterprise Apps include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Property list e archiviazione
  2. Fondamenti di Core Data
  3. Integrazione di SQLite con FMDB
  4. Salvare le preferenze con NSUserDefaults
← Torna a Objective-C iOS Development for Legacy & Enterprise Apps