如何获取 NSMutableString 数据并将其放在不同的字符串中? [关闭]

Posted

技术标签:

【中文标题】如何获取 NSMutableString 数据并将其放在不同的字符串中? [关闭]【英文标题】:How do I get the NSMutableString of data and place it in different string? [closed] 【发布时间】:2013-03-15 19:56:34 【问题描述】:

我有一个包含数据的方法。我想创建该数据的字符串并将其写入文本文件。我创建了一个写入文本的方法。如何将 UpLoadDeviceData 方法中的 NSMutableString 数据获取到我的 writetotext 方法的 string* 内容?以下是拉取数据的方法:

这是我的 write to text 方法:

-(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);

【问题讨论】:

你的问题是什么? 当您的数据已经是字符串时,“字符串数据”是什么意思? 【参考方案1】:

您可以从可变字符串中创建一个不可变字符串并写入文件:

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: 更糟糕,因为现在需要额外的工作来扫描格式字符串。

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

【讨论】:

json不是已经是字符串了吗?只需将其设为 ivar,您就可以在任何地方访问它。 看我的回答:appendString.

以上是关于如何获取 NSMutableString 数据并将其放在不同的字符串中? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何用 NSMutableString 附加 NSMutableString?

iOS - 如何在 swift 中使用`NSMutableString`

iPhone - 将 *NSMutableString 转换为 UIImage

iOS基础-NSString及NSMutableString剖析

[NSMutableString string] 和 [[NSMutableString string] autorelease] 一样吗?

NSString 和 NSMutableString