我创建了一个 NSMutableArray,用于存储歌曲名称和艺术家。我正在尝试将此数组转换为 NSData 格式,以便可以将其保存到文本文件中。尝试这样做时,我得到的输出是不可读的:
bplist00ÔghX$versionX$objectsY$archiverT$top †¯$ !")-./3459:;?@AEFGKLMQRSWXY]^_cU$nullÒ R$0V$class€€#Ò ZNS.objectsª€€€€ ...等。
我用来从 NSMutableArray 转换为 NSData 的代码是:
NSFileManager *fm;
NSData *dataCache = [NSKeyedArchiver archivedDataWithRootObject:myList];
fm = [NSFileManager defaultManager];
if ([fm createFileAtPath:@"/users/nicholasvogler/desktop/Mysongs.txt" contents:dataCache attributes:nil] == NO)
{
NSLog (@"Could not create data file");
return 1;
}
数组中的所有对象都是 NSStrings,我为字符串和数组添加了以下方法:
-(void) encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject: songname];
[encoder encodeObject: artist];
}