iphone, записать CSV-файл в песочницу - PullRequest
2 голосов
/ 21 июня 2010

Я должен написать (в начале приложения) и удалить содержимое (в конце приложения) CSV-файл в моей песочнице файла с потоком данных.По вашему опыту, какой лучший способ сделать это?

edit:

Я пытаюсь с этим:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *filename =@"test.csv";
NSString *fullPathToFile = [documentsDirectory stringByAppendingPathComponent:filename];
if(![[NSFileManager defaultManager] fileExistsAtPath: fullPathToFile]) {
            [[NSFileManager defaultManager] createFileAtPath: fullPathToFile contents:nil attributes:nil];
}
NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath: fullPathToFile];
NSString *data = [NSString stringWithFormat:@"%@,%@\n", latitudine.text, longitudine.text];
[handle writeData:[data dataUsingEncoding:NSUTF8StringEncoding]];

это работает, но .... каждыйвремя writedata является вызовом, я получил только одну строку, без добавления.Я хочу собрать все значения двух моих текстовых меток.

Где моя ошибка?

edit2:

yessss, найдите решение с помощью этого кода:

сначала я создал его:

- (NSString *)dataFilePath { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(
    NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    return [documentsDirectory stringByAppendingPathComponent:@"myfile.csv"];

}

и в моем viewDidLoad я проверяю и, если он не существует, создаю мой файл

if (![[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) {
    [[NSFileManager defaultManager] createFileAtPath: [self dataFilePath] contents:nil attributes:nil];
    NSLog(@"Route creato");

}

и одним из моих методов добавляю код для извлечения данных и добавляю в мой файл:

NSString *data = [NSString stringWithFormat:@"%@,%@ ", latitudine.text, longitudine.text]; 
//create my data to append
NSFileHandle *handle;
handle = [NSFileHandle fileHandleForWritingAtPath: [self dataFilePath] ]; 
//say to handle where's the file fo write
[handle truncateFileAtOffset:[handle seekToEndOfFile]]; 
//position handle cursor to the end of file
[handle writeData:[data dataUsingEncoding:NSUTF8StringEncoding]];   
//write data to with the right encoding

Надеюсь, это поможет!

1 Ответ

1 голос
/ 21 июня 2010

Если вы поместите его в NSTevenDirectory (), я думаю, что он должен быть очищен при выходе из приложения - возможно, стоит проверить, так ли это.

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