在基于文档的应用程序中,我可以保存/读取文件,但是当我必须从纯文本文件中读取时,问题就来了。
我只有一个要读/写的字符串,这就是代码:
- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError
{
code=[codeView string];
return [NSKeyedArchiver archivedDataWithRootObject: code];
}
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError
{
code=[NSKeyedUnarchiver unarchiveObjectWithData: data];
return YES;
}
问题是保存一个 NSData 可能会产生一个像这样的文件:
bplist00‘X$versionX$objectsY$archiverT$top�܆£
U$null“
V$classYNS.stringÄP“Z$classnameX$classes_NSMutableString£XNSStringXNSObject_NSKeyedArchiver—TrootÄ#-27;AFMWYZ_jsÖâíõ≠∞µ����������������������������∑
对于人类来说不可读,对于文本编辑等其他应用程序不可读。我需要能够读取和保存纯文本文件,在我的 plist 文件中,我已经尝试通过将文档类型名称更改为 public.text 来实现这一点。
如何保存/读取以 UTF-8 编码的纯字符串?