0

我一直在尝试在应用程序启动时读取的某种文件上找到某种教程或任何类型的信息。

情况将是:

  1. 应用程序启动
  2. 应用程序检查 iOS 设备硬盘上的文件以确定现有设置
  3. 如果没有现有设置,则应用程序将获取数据并创建现有设置,并将其保存到 iOS 设备,以便在应用程序下次运行时启动时读取。

我尽量说清楚。如果这没有意义,请告诉我,我将尝试进一步澄清。

4

2 回答 2

1

对于用户设置,使用 NSUserDefaults。

但是您不需要检查应用程序是否已运行。

NSUserDefaults 允许您注册一组默认值,这些默认值仅在它们未被覆盖时才适用,无论是通过设置应用程序在 Settings.bundle 中还是直接在应用程序内的 NSUserDefaults 中。

因此,定义一个initialiseUserDefaults方法并在应用程序启动时调用它。

- (void)initialiseUserDefaults
{
    NSDictionary *regDict = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], @"userPref1",
                         [NSNumber numberWithBool:YES], @"userPref2",
                         [NSNumber numberWithBool:NO], @"userPref3",
                         nil];
    [[NSUserDefaults standardUserDefaults] registerDefaults:regDict];
}

(您可以从您选择的任何地方获取默认值。)

我希望这会有所帮助。

于 2012-04-27T14:27:07.490 回答
0

对于用户设置,使用 NSUserDefaults。

创建一个appHasRunbool 的键并检查它是否是true. 如果是这样,他们之前已经运行过该应用程序。如果是false,则设置所有默认设置并设置appHasRuntrue

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

if (![prefs boolForKey:@"appHasRun"]){
  /* Set Default Settings HERE */
  [prefs setBool:true forKey:@"appHasRun"];
  [prefs syncronize];
}
于 2012-04-27T14:09:59.910 回答