如何从文本字段中读取用户输入文本并将其写入Xcode中的文本文件?

时间:2011-11-07 00:44:11

标签: objective-c xcode4 nsstring

有没有办法将字符串(从文本字段读取)写入.txt文件?

NSString *input = [textfield text];

NSString *path = @"myText.txt";

[input writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];

2 个答案:

答案 0 :(得分:2)

是的,最终 的方式;但是你要做的其他一些步骤是为了从头到尾完成(你需要将文本字段连接到IBOutlet或以其他方式访问; myText.txt写入的路径需要是可写的,因此你可能需要一个比文件名更长,更精确的路径;你可能还需要发送一个可以设置的实际错误参数,这样你就可以看到当writeToFile调用失败时返回的错误很少次你运行这段代码。)

答案 1 :(得分:1)

您需要定义路径,基本上是保存文件的位置。 此代码将找到Documents文件夹

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

这是我用来读写文件的代码。

-(void)writeFileToDisk:(id)data 
{ 
    NSArray *path = NSSearchPathForDirectoriesInDomains( 
            NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDirPath = [path objectAtIndex:0]; 
    NSString *fileName = @"MyFileName.txt"; 

    NSString *fileAndPath = [documentDirPath stringByAppendingPathComponent:fileName]; 

    [data writeToFile:fileAndPath atomically:YES]; 
} 

-(void)readFileFromDisk 
{ 
    NSArray *path = NSSearchPathForDirectoriesInDomains( 
            NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDirPath = [path objectAtIndex:0]; 
    NSString *fileName = @"MyFileName.txt"; 

    NSString *fileAndPath = [documentDirPath stringByAppendingPathComponent:fileName]; 

    NSArray *array = [[NSArray alloc] initWithContentsOfFile:fileAndPath]; 
    NSLog(@"%@",array); 
    [array release]; 
}