我想在iphone上存储xml,其中包含应用用户选择的一些喜爱的项目。我正在使用TBXML(继承自prev dev)并因此无法编写xml,我正在考虑将每个项目中的xml拼接为一个字符串,然后将其加载到像这样:
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];
}
希望它有助于某人
答案 0 :(得分:1)
我无法从您提供的信息中得知,但“用户选择的最喜欢的项目”听起来像NSUserDefaults,这比xml容易得多。