2009-08-06 67 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]; 
}