在NSUserDefaults上存储对象数组的最佳方法是什么
||
我想将XML存储在由应用程序用户选择的许多收藏夹项组成的iPhone上。我使用的是TBXML(继承自prev dev),因此无法编写xml,因此我想将每个项目中的xml切成字符串,然后以Like方式加载它:
tbxml = [[TBXML alloc] initWithXMLString:myXML]
这不是很理想,但是此方法有局限性/建议吗?什么是存储此文件的最佳位置?
非常感谢
编辑
用户在UITableView中收藏了一个项目,然后可以在另一个名为'My Favourites \'的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 个回复
盛梯獭八搽