2009-08-06 66 views
1

我wana存储使用NSArray的表中选择单元格的索引,可以帮助我...如何使用WritetoFile将值存储在NSArray中?

+0

存储它如何?将其存储在磁盘上的文件中或将其存储在内存中? – 2009-08-06 09:42:00

+0

在磁盘上,当我重新加载该应用程序,然后我可以得到该存储的值。我wana存储所选表格单元格的索引。 – Aamir 2009-08-07 03:19:17

回答

0

我不知道我是否正确理解问题,但它听起来像你可以使用属性列表来存储这些信息。属性列表非常易于使用,并且对于少量数据而言效率很高。

阅读“Property List Programming Guide”以获取更多解释。那里甚至有一个教程。

1

您可以使用用户默认设置或property list来实现此目的。

用户默认值示例。你有一个控制器类可以访问索引,并会在启动时加载它,并在更新时将它写入plist:

如果你有某种控制器类,那么你会把这个代码放入+ (void)initialize,它初始化如果它不存在的plist变量:

+ (void)initialize 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSDictionary *appDefaults = 
       [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5] 
              forKey:@"MyFunnyIndex"]; 
    [defaults registerDefaults:appDefaults]; 
} 

在你-(void)awakeFromNib(我假设你正在使用某种控制器类)加载上次存储的值:

-(void)awakeFromNib 
{ 
    int index = 
      [[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"]; 
      [somethingThatNeedsIndex setIndex:index]; 
    // ... 
} 

某处在哪里在dex更新(或者你想写到plist的地方),我们称之为- (void)updateInterface

- (void)updateInterface 
{ 
    [[NSUserDefaults standardUserDefaults] 
        setObject:[NSNumber numberWithInteger:index] 
         forKey:@"MyFunnyIndex"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
}