Objective c 简单的文件写入对我不起作用

Objective c 简单的文件写入对我不起作用,objective-c,cocoa,file-io,nsstring,Objective C,Cocoa,File Io,Nsstring,我无法将这个简单的字符串写入文件。 请看我的密码。这是一个带有NSTextField和按钮的简单nib。日志显示我得到了字符串值,但它没有写入 //Quick.h #import <Foundation/Foundation.h> @interface Quick : NSObject { IBOutlet NSTextField * aString; } -(IBAction)wButton:(id)sender; @end //Quick.m #import

我无法将这个简单的字符串写入文件。 请看我的密码。这是一个带有
NSTextField
和按钮的简单nib。日志显示我得到了字符串值,但它没有写入

//Quick.h

#import <Foundation/Foundation.h>

@interface Quick : NSObject
{
    IBOutlet NSTextField * aString;
}

-(IBAction)wButton:(id)sender;

@end

//Quick.m

#import "Quick.h"

@implementation Quick

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }

    return self;
}

-(IBAction)wButton:(id)sender{

    NSString * zStr = [aString stringValue];
    NSString * path = @"data.txt";
    NSLog(@"test String %@", zStr);
    [zStr writeToFile:path 
           atomically:YES 
             encoding:NSASCIIStringEncoding 
                error:nil]; 

}


@end
//Quick.h
#进口
@接口快速:NSObject
{
IBNStextfield*aString;
}
-(iAction)wButton:(id)发送方;
@结束
//快点
#导入“Quick.h”
@快速实施
-(id)init
{
self=[super init];
如果(自我){
//这里是初始化代码。
}
回归自我;
}
-(iAction)wButton:(id)发送方{
NSString*zStr=[aString stringValue];
NSString*path=@“data.txt”;
NSLog(@“测试字符串%@”,zStr);
[zStr writeToFile:路径
原子论:是的
编码:NSASCIIStringEncoding
错误:无];
}
@结束

您必须提供文档目录的完整文件路径,而不仅仅是文件名

NSString *zStr = [aString stringValue];
NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
NSString *fileName = @"data.txt";
NSString *filePath = [directory stringByAppendingPathComponent:fileName];
[zStr writeToFile:filePath atomically:YES encoding:NSASCIIStringEncoding error:nil]; 

您必须提供文档目录的完整文件路径,而不仅仅是文件名

NSString *zStr = [aString stringValue];
NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
NSString *fileName = @"data.txt";
NSString *filePath = [directory stringByAppendingPathComponent:fileName];
[zStr writeToFile:filePath atomically:YES encoding:NSASCIIStringEncoding error:nil]; 

您需要提供一个绝对路径

此代码提供应用程序文档目录的路径:

 [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

您需要提供一个绝对路径

此代码提供应用程序文档目录的路径:

 [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];