2010-06-05 40 views

回答

2

如果你的意思存儲陣列,那麼答案是肯定的。您只需使用setObject:forKey:方法來存儲它。所以:

NSArray* myArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil]; 
[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:@"myArrayKey"]; 

// much later... 

NSArray* thatArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"myArrayKey]; 
NSLog(@"thatArray second object: %@", [thatArray objectAtIndex:1]); 
// prints "thatArray second object: two" 
+0

其實我是用數組填充表格視圖, 當我從表格中刪除row5時,應該刪除它。 但如果使用上面的代碼,我無法刪除該行。 plz建議我繼續前進。 關於 – iscavengers 2010-06-05 08:49:46

+0

@ shishir.bobby:你能發表一些你正在使用的代碼嗎?沒有足夠的信息來幫助。 – 2010-06-05 15:52:01

0

我猜你所要求的:

您有一個數組,你把它放到NSUserDefaults的,再後來,你要保持這種陣列,是不是?

NSUserDefaults在放入時不會保留數組。它只是通過序列化來保存和獲取數據到數據庫 因此,如果你當前擁有你的數組,你不需要再保留它。

+1

這是不正確的。從NSUserDefaults添加和刪除對象並不會影響對象的保留計數。 NSUserDefaults將對象的副本序列化爲持久存儲。它不會將保留或釋放消息發送到它序列化的對象。 – 2010-06-05 08:27:59

+0

嗯,我現在明白了。這是我的誤解。以前,我只是認爲我們必須設置對象,然後我們必須明確地調用寫入文件。但這是不正確的。其實 – vodkhang 2010-06-05 08:41:21

+0

其實數組已經保留了。 我不想在從數組中刪除一些元素後保留該數組................. – iscavengers 2010-06-05 08:51:08