2010-06-14 4 views
1

Je construis une application iphone et je voudrais garder la trace du nombre de fois qu'il a été ouvert afin que je puisse inviter l'utilisateur à faire certaines actions après qu'il ait été ouvert X fois. J'ai pensé à stocker une variable dans les données de base que je mets à jour chaque fois qu'il est ouvert, mais cela semble être un gaspillage puisque c'est une donnée singleton, pas plusieurs instances d'un objet. Quel est le meilleur moyen de stocker des données comme celles-ci et d'y accéder sans ralentir l'ouverture de l'application?Comment suivre le nombre de fois qu'une application iPhone est ouverte?

Répondre

2

Vous pouvez stocker les valeurs par défaut de l'utilisateur. Voici le code:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    [self countOpen]; 
} 

-(void) countOpen { 
    int _coutn= 0; 
    _count= [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppCount"] intValue]; 

    [[NSUserDefaults standardUserDefaults] setObject:[NSString stringFormat:@"%d",_count+1] forKey:@"AppCount"]; 
} 
+0

Cela ressemble à une solution décente - comment puis-je remplir automatiquement cela avec 0 pour commencer? Ou retourne-t-il simplement zéro s'il n'y a aucun élément dans l'objet standardUserDefaults, et puis je peux le mettre à 1? – Jason

+0

Oui, la première fois que ça vient toujours avec NIL, alors vous pouvez mettre à 1 et ensuite commencer à l'incrémenter. – iPhoneDev

Questions connexes