0

在我的應用程序中,我上傳各種類型的數據,如圖像,音頻,視頻,文本。現在,我希望該用戶應該能夠查看最近上傳的100個項目,即使他退出並重新打開該應用程序。爲此,我將創建一個包含表視圖的視圖。表格視圖將填充最近上傳的100個項目。現在我想通過NSUserDefaults實現這一點。對於圖像,音頻和視頻iPhone返回他們的路徑或URL,我將不得不存儲到NSUserDefaults但表視圖必須由數組填充,所以如何將我的文件路徑存儲到NSUserDefaults或數組,然後獲取這些項目填充我的表格視圖。或者是否有更好的選擇比NSUserDefaults更容易實現?保存和檢索歷史iphone

回答

0

如果有更多的數據比這更多,也許嘗試一個sqlite數據庫。如果僅僅是這個數據,那麼爲它創建一個數據庫似乎太過矯健了。您可以在陣列的NSUserDefaults的保存與此類似:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"sd"] forKey:@"k"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

NSArray *array = [[NSUserDefaults standardUserDefaults] objectForKey:@"k"]; 
if(array == nil) { 
    //No data 
} 
else { 
    for(NSString *string in array) { 
     NSLog(@"String: %@",string); 
    } 
} 

的退,如果你想存儲自定義對象的數組中,你需要手動編碼的對象,在詳細這post

+0

但是,我如何確保總是有100個項目在數組中,他們不斷取代最近的新的? – user2261732 2013-04-09 13:18:49

+0

從NSUserDefaults獲取數組後,將其更改,並從中創建一個可變數組。當你寫回來時,它會覆蓋舊的數組。這取決於數組包含的內容,上面的代碼將存儲您提供的任何基本NSObject派生類。 – user352891 2013-04-09 13:34:22