-1

データを含むメソッドがあります。そのデータの文字列を作成し、テキスト ファイルに書き込みたいと考えています。テキストへの書き込みメソッドを作成しました。UpLoadDeviceData メソッドのデータの NSMutableString を writetotext メソッドの string* コンテンツに取得するにはどうすればよいですか? データがプルされているメソッドは次のとおりです。

テキストへの書き込み方法は次のとおりです。

-(void) writeToTextFile{

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

    // System's date and timestamp
    NSDate *currentDate = [NSDate date]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM.dd.YYYY HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:currentDate];
    // NSLog(@"%@",dateString);
4

1 に答える 1

0

可変文字列から可変でない文字列を作成し、ファイルに書き込むことができます。

NSMutableString *theMutableString; 
NSString *nonMutableString = [NSString stringWithString:theMutableString]; 
[nonMutableString writeToFile:path atomically:YES encoding:NSUTF8Encoding error:nil]; 

または、短くすると、変更可能な文字列をファイルに書き込みます。

[theMutableString writeToFile:path atomically:YES encoding:NSUTF8Encoding error:nil]; +

より長い文字列を作成する方法についてのいくつかの言葉:

  • 変更可能な文字列に文字列を追加する場合は、 を使用しますappendString:

  • はるかに効率の悪い方法は、NSStringクラス メソッドを使用することstringByAppendingString:です。これにより、新しい文字列が割り当てられ、不要なオーバーヘッドが発生します。

  • NSStringフォーマット文字列をスキャンするために追加の労力が必要になるため、クラスメソッドを使用するお好みの方法stringWithFormat:はさらに悪いです。

したがって、最良の方法は、変更可能な文字列を 1 つずつ作成してから、ワンライナーでファイルに書き込むことです。

于 2013-03-15T21:54:46.493 に答える