Possibile duplicato:
Sincronizzazione delle best practice per NSUserDefaults
Chiamo -[NSUserDefault setIntegerValue:1 forKey:differentKeys];
circa 50 volte e ogni volta con una chiave diversa, quindi chiama -[NSUserDefault synchronize];
questo avrà un impatto sulle prestazioni? quante volte avrà un impatto sulle prestazioni?
risposte:
3 per risposta № 1Avrà un piccolo impatto sulle prestazioni. Forse non qualcosa che noti. Tuttavia sarebbe ancora meglio solo chiamare -[NSUserDefaults synchronize];
solo una volta, proprio alla fine di tutte le chiamate dei metodi impostati, poiché salverà quindi tutte le modifiche e poi le archivieranno, anziché dopo ogni singola modifica.
4 per risposta № 2
Pensa a synchronize
come comando commit change, quindi se non è necessario chiamarlo ogni volta che si imposta un valore predefinito, non farlo. Se stai apportando molte modifiche a NSUserDefaults
contemporaneamente allora probabilmente dovrai solo chiamare synchronize
una volta alla fine. Tutto dipende dalle tue esigenze specifiche.
Inoltre, le differenze di prestazioni in questo differiranno anche in base alla quantità di dati archiviati, alla frequenza e alle capacità del dispositivo. Nel complesso, consiglierei di chiamare synchronize
più piccolo possibile.