3

アプリが開かれた回数をカウントする方法を誰かが知っているかどうか知りたいです。NSUserDefalte か何か... var をどこに配置し、どこで 0 に初期化する必要がありますか?

4

4 に答える 4

5

あなたのクラス AppDelegate.m では、これを行うことができます:

//Application did launch
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  int count = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchCount"];
  if(count < 0) count = 0;
  [[NSUserDefaults standardUserDefaults] setInteger:count+1 forKey:@"LaunchCount"];
}

//The application was in background and become active
- (void)applicationWillEnterForeground:(UIApplication *)application
{
  int count = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchCount"];
  if(count < 0) count = 0;
  [[NSUserDefaults standardUserDefaults] setInteger:count+1 forKey:@"LaunchCount"];
}
于 2012-10-24T07:12:23.413 に答える
3
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
     //add 1
}

画像

http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/からの画像

于 2012-10-24T07:08:25.223 に答える
0

はい、NSUserdefaults を使用するのは簡単な解決策です。

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary     *)launchOptions{
    // Get the NSUserDefault number here, if not available, create a new.
}

バックグラウンドから再開されたすべての時間を追跡する場合は、次を参照してください。

-(void) applicationWillEnterForeground:(UIApplication*)application

次のようなことを試してください:

// Get the number of starts:
NSNumber *starts = [[NSUserDefaults standardUserDefaults] objectForKey:@"starts"];

// increase by one
NSNumber *number = [NSNumber numberWithInt:([starts intValue] + 1)];

// store the number of starts
[[NSUserDefaults standardUserDefaults] setObject:starts forKey:@"starts"];
于 2012-10-24T07:11:22.030 に答える