2011-04-14 88 views
0

我想在iphone上存儲xml,其中包含由應用程序用戶選擇的多個收藏項。我正在使用TBXML(從prev dev繼承),因此這不能寫xml,我正在考慮把每個項目的xml作爲一個字符串一起切分,然後加載到像這樣:在NSUserDefaults上存儲對象數組的最佳方法是什麼

tbxml = [[TBXML alloc ] initWithXMLString:myXML]

這並不理想,但是對於這種方法有什麼限制/建議,以及什麼是存儲此文件的最佳位置?

非常感謝

編輯

用戶收藏在一個UITableView中的項目,這些然後可以稱爲「我的最愛」另一個UITableView的觀察。 UITableViewController顯示從服務器返回的xml文件中的內容。我試圖讓事情變得簡單,以便將每個'items'xml有效地附加到一個大字符串,然後將該字符串存儲在某處 - 無論是在文件中還是在NSUserDefaults中。

理想情況下,我可以保存一個對象數組添加到收藏夾以便稍後回讀。

對象被像這樣

@interface Playlist : NSObject { 

NSURL *imagePath; 
NSString *title; 
NSString *subTitle; 
NSString *mediaType; 
NSString *artistName; 
NSString *id; 

} 


@property (nonatomic, retain) NSURL *imagePath; 
@property (nonatomic, retain) NSString *title; 
@property (nonatomic, retain) NSString *subTitle; 
@property (nonatomic, retain) NSString *mediaType; 
@property (nonatomic, retain) NSString *artistName; 
@property (nonatomic, retain) NSString *id; 

@end 

創建有保存對象的數組像在上面NSUserDefaults的所述一個的方法嗎?

感謝

編輯2 我去NSUserDefaults的並保持每個項目的ID作爲數組

很容易訪問和更新,我做了PlaylistDataController類與像這樣的,以在那裏的方法項目添加到我的「MyPlaylistArray」在用戶默認

-(void) addItemToPlaylist: (NSString*) myID 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSMutableArray *myPlaylistArray = [NSMutableArray arrayWithArray:[defaults objectForKey:@"MyPlaylistArray"]]; 
    [myPlaylistArray addObject:myID]; 
    [defaults setObject:myPlaylistArray forKey:@"MyPlaylistArray"]; 
    [defaults synchronize]; 

} 

希望它可以幫助別人

回答

1

我無法真正瞭解您提供的信息,但「用戶選擇的最喜歡的項目」聽起來像NSUserDefaults,這比xml更容易。

+0

我同意user697562。 +1在嘗試使用XML之前,您想先看看NSUserDefaults。 NSUserDefaults專爲您輕鬆存儲和檢索用戶選擇而設計。它會爲您節省大量時間和頭痛。 – dredful 2011-04-14 02:21:16

+0

謝謝你們的答案。用戶最喜歡UITableView中的項目,然後可以在另一個名爲「我的收藏夾」的UITableView中查看這些項目。 UITableViewController顯示從服務器返回的xml文件中的內容。我試圖讓事情變得簡單,以便將每個'items'xml有效地附加到一個大字符串,然後將該字符串存儲在某處 - 無論是在文件中還是在NSUserDefaults中(我現在正在查看的地方) – craigk 2011-04-14 03:29:23

+0

我不清楚爲什麼你會將它們全部附加到一個大字符串中。這些項目是否有獨特的名字?如果是這樣,請使用該名稱將每個單獨存儲在NSUserDefaults中(它基本上是一個自動保存自己的字典) – ax123man 2011-04-15 14:56:01

相關問題