2010-05-03 8 views
0

J'ai créé un fichier Settings.bundle dans mon application où l'utilisateur peut modifier certaines propriétés comme la taille de la police. Ça marche.Comment détecter les modifications de préférence d'application

Mais quand je quitte mon application, et je change mon réglage, je ne sais pas comment je peux être averti du changement. Pour le moment, je crée un appel de fonction chaque fois qu'une vue est chargée pour vérifier les paramètres de l'application. Mais je me demande s'il existe une autre façon de le faire.

Répondre

2

Vous devez utiliser votre application délégué application:didFinishLaunchingWithOptions: ou un emplacement équivalent, pour vérifier vos valeurs NSUserDefaults, ou tout simplement les lire dans une méthode UIViewControllerviewDidLoad.

Bien qu'il n'y ait pas de multitâche, c'est plus que suffisant. Sur MacOS X Cocoa, nous utilisons KVO et les liaisons pour vérifier les changements pendant l'exécution d'une application; aucun doute que quelque chose de similaire fonctionnera pour 4.0 si nécessaire.

+0

J'avais l'habitude de vérifier les valeurs de réglage dans l'application: didFinishLaunching, mais le problème est que lorsque l'utilisateur quitte l'application, changez la valeur de la taille de la police (par exemple), et revenez à l'application: La fonction didFinishLaunching n'est pas callback, donc la modification n'est pas prise en compte. –

+0

Il est toujours appelé au lancement. Vous ne pouvez pas accéder à Paramètres depuis votre application sans le lancer dans 3.x. –

0

J'ai finalement trouvé la solution. Comme vous l'avez dit Paul, pour la version 4.0 sdk, il y a quelque chose de similaire et je l'ai trouvé dans "UIApplicationDelegate protocol". Merci de votre aide. ;)

Questions connexes