写入-iphone-unwanted符号上的文件

时间:2011-10-10 16:04:19

标签: objective-c

我有一个数组,我正在使用:

将其写入文件
memoryString=[memoryString stringByAppendingString:WhatsTheTimeNow]; 
[memoryFile addObject:memoryString];
[memoryFile writeToFile:fullFileName atomically:NO];

日志没问题,但是我在日志文件上得到的还有一些符号:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>  Touch Event: leftEye    --- ר10 10:33:10---2011</string>
    <string>  Sensor Event: rightHand    --- א10 10:33:26---2011</string>
    <string>  Sensor Event: rightHand    --- ר10 10:33:29---2011</string>
    <string>  Sensor Event: rightLeg    --- א10 10:33:32---2011</string>
    <string>  Touch Event: leftEye    --- ר10 10:33:34---2011</string>
    <string>  Touch Event: leftEye    --- א10 10:33:36---2011</string>

</array>
</plist>

问题是,我不希望在开头和结尾有<string><array>个符号,以及3个开放行。 我怎么摆脱这个符号?

非常感谢。

2 个答案:

答案 0 :(得分:2)

这些“符号”使您的文件成为.plist,这是您在writeToFile:上致电NSArray时创建的内容。如果你想要一个自定义输出(你将无法使用标准功能读回数组),你必须自己编写,可能使用NSString的{​​{1}}方法代替。

答案 1 :(得分:2)

writeToFile方法会自动生成一个.plist,非常方便您重新阅读。如果您想自己动手,

NSMutableString *file = [NSMutableString string];
for (NSString *s in memoryFile) {
    [file appendFormat:@"%@\n", s];
}
[memoryFile writeToFile:fullFileName atomically:NO 
   encoding:NSUTF8StringEncoding error:nil];  

请注意,writeToFile:atomically:已弃用。

您的奇怪角色必须源于memoryString的分配问题。