所以在我的上一个问题中,我试图找出我应该使用什么,Plist或Core数据或sqlight,我决定我会尝试所有这些来提高我的技能。 所以我开始阅读关于plist和他们的工作方式,我不太确定一些事情。我正在编写的应用程序目的是为用户提供一些来自plist文件的不同类型的不同歌曲列表,如下所示:
用户将选择他喜欢的歌曲并将其添加到新列表中。 我可以复制歌曲(在我的情况下是plist文件中的简单词典)并从中创建一个新的plist。或者我应该使用堆栈或数组来推送歌曲并使用表视图作为插座?最终,我希望用户保存他创建的播放列表。
我很想知道我所建议的某些内容是否会起作用,这样做的方法更为优雅。
由于
答案 0 :(得分:1)
尝试这样,
NSString *plistFileName = [[self documentPath] stringByAppendingPathComponent: @"Original.plist"];
if ([[NSFileManager defaultManager] fileExistsAtPath:plistFileName]) {
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistFileName];
}
在表格视图中显示此数据,并要求用户选择歌曲。将选定的一个保存在另一个字典中,
NSDictionary *savedPlayListDict = //saved songs
NSString *fileName = [[self documentPath] stringByAppendingPathComponent: @"SavedList.plist"];
[savedPlayListDict writeToFile: fileName atomically:YES];
或者您可以创建自己的模型类,以便在字典中保存键值对,并使用它来表示表的每一行。
例如: - Song
可以是具有[{1}},UIImage *pic
和NSInteger number
属性的模型对象。您可以在数组中添加这些Song对象,并使用此数组填充表视图。用户选择列表后,您可以将保存的列表转换为字典并保存到plist,如上所示。
这些只是几个选项。你可以用很多不同的方式做到这一点。