0

私のアプリでは、ユーザーが新しいグループを作成するたびに、このコードが作成されます(JSON):

{"group a":"0864797073"} 

...次に、コードはディレクトリのgroups.txtというファイルに保存されます。

...しかし、ユーザーが別のグループを作成するときは、ファイルを次のように変更したいと思います。

{"group a":"0864797073"} 
{"group b":"0864797073"} 

...その後...

{"group a":"0864797073"} 
{"group b":"0864797073"} 
{"group c":"0864797073"}

...したがって、ファイルを置き換えるのではなく、新しい行を追加します。

これどうやってするの??

助けてくれてありがとう。

編集2:

NSString * destDir = [NSString stringWithFormat:@ "/ Apps / Quick Homework&business /%@ /"、namegroup.text];

    NSString *filename5 = namegroup.text;
    NSString *filename6 = @"group";


    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *groupPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", filename6]];

    NSMutableArray *titles = [NSMutableArray array];
    [titles addObject:filename5];

    NSMutableArray *keys = [NSMutableArray array];
    [keys addObject:filename6];

    NSDictionary *dict = [NSDictionary dictionaryWithObjects:titles forKeys:keys];

    NSString *jsonString = [dict JSONRepresentation];
    NSData *jsonData = [jsonString dataUsingEncoding: NSUTF8StringEncoding];

    NSFileHandle *myHandle = [NSFileHandle fileHandleForUpdatingAtPath:groupPath];
    [myHandle seekToEndOfFile];
    [myHandle writeData:jsonData];
    [myHandle closeFile];

    [jsonData writeToFile: groupPath atomically: YES];

    [[self restClient] uploadFile:filename6 toPath:destDir
                    withParentRev:nil fromPath:groupPath];
4

2 に答える 2

2

既存のファイルの末尾に行を追加するだけの場合は、次のコードを使用できます。

NSData *newGroupData = [newGroupString dataUsingEncoding:NSUTF8StringEncoding];

NSFileHandle *myHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
[myHandle seekToEndOfFile];
[myHandle writeData:newGroupData];
[myHandle closeFile];

newGroupStringとの値を設定するのはあなた次第ですfilePath

于 2012-06-08T16:09:27.377 に答える
0

あなたは次のことをします

  • 古いファイルの内容を読む
  • 読み取ったコンテンツに新しい行を追加すると、古いファイルとユーザーが追加した新しい行を含むコレクションが作成されます。
  • コレクションをファイルに書き込むと、すべての古いコンテンツと新しい行が書き込まれます
于 2012-06-08T15:50:55.017 に答える