-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:。这会分配一个新字符串并产生不必要的开销。

  • 您首选的方法,使用 thenNSString类方法stringWithFormat:更糟糕,因为现在需要额外的工作来扫描格式字符串。

因此:最好的方法是逐个构造可变字符串,然后将其写入单行文件中。

于 2013-03-15T21:54:46.493 回答