将文件(或数据)保存到iOS设备,以便可以在应用启动时读取

时间:2012-04-27 14:09:04

标签: ios objective-c xcode file-io

我一直试图在应用启动时阅读的某种文件上找到某种类型的教程或信息。

场景将是:

  1. App启动
  2. 应用程序检查iOS设备硬盘驱动器上的文件以确定现有设置
  3. 如果没有现有设置,则应用程序将接收数据并创建现有设置,并将其保存到iOS设备,以便在应用启动时在应用启动时读取。
  4. 我试图尽可能清楚。如果这没有意义,请告诉我,我会进一步澄清。

2 个答案:

答案 0 :(得分:1)

For user settings, use 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];
}

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

我希望有所帮助。

答案 1 :(得分:0)

For user settings, use NSUserDefaults.

创建appHasRun的密钥作为bool并检查它是否为true。如果是这样,他们之前已经运行了应用程序。如果是false,请设置所有默认设置并将appHasRun设置为true

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

if (![prefs boolForKey:@"appHasRun"]){
  /* Set Default Settings HERE */
  [prefs setBool:true forKey:@"appHasRun"];
  [prefs syncronize];
}