Duplication possible:
Meilleure pratique pour la synchronisation NSUserDefaults
J'appelle -[NSUserDefault setIntegerValue:1 forKey:differentKeys];
environ 50 fois, et à chaque fois avec une clé différente, puis appeler -[NSUserDefault synchronize];
cela aura-t-il un impact sur les performances? combien de fois cela aura-t-il un impact sur les performances?
Réponses:
3 pour la réponse № 1Cela aura un petit impact sur les performances. Peut-être pas quelque chose que vous remarquez. Mais il vaudrait toujours mieux appeler -[NSUserDefaults synchronize];
juste une fois, juste à la fin de tous vos appels de méthodes, car il enregistrera ensuite toutes vos modifications dans un fichier, plutôt qu'après chaque modification individuelle.
4 pour la réponse № 2
Penser à synchronize
comme une commande commit changes, donc si vous n'avez pas besoin de l'appeler à chaque fois que vous définissez une valeur par défaut, ne le faites pas. Si vous apportez de nombreuses modifications à NSUserDefaults
alors vous n'aurez probablement qu'à appeler synchronize
une fois à la fin. Tout cela dépend de vos besoins spécifiques.
De plus, les différences de performances varient également en fonction de la quantité de données stockées, de la fréquence et des capacités de l'appareil. Dans l'ensemble, je recommanderais d'appeler synchronize
aussi petit que possible.