запись в файл на -iphone-нежелательных символов - PullRequest
0 голосов
/ 10 октября 2011

У меня есть массив, и я записываю его в файл, используя:

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 ]

2 голосов
/ 10 октября 2011

Метод 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.

2 голосов
/ 10 октября 2011

Эти "символы" - это то, что делает ваш файл .plist, то есть то, что создается, когда вы вызываете writeToFile: на NSArray. Если вам нужен пользовательский вывод (который вы не сможете прочитать обратно в массив, используя стандартные функции), вам придется написать его самостоятельно, вероятно, вместо этого используя метод NSString writeToFile:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...