简单的写入文件对我来说不起作用

发布于 2024-12-06 18:52:32 字数 741 浏览 0 评论 0原文

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

//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

I cannot get this simple string to write to a file.
Please look at my code. This is a simple nib with an NSTextField and a button. The log shows I am getting the string value fine, but it does not write.

//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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人生百味 2024-12-13 18:52:32

您必须提供很可能是 Documents 目录的完整文件路径,而不仅仅是文件名。

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]; 

You have to provide an entire file path to most likely the Documents directory, not just a file name.

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]; 
孤独陪着我 2024-12-13 18:52:32

您需要提供绝对路径。

此代码来自 另一个答案< /a> 为您提供应用程序文档目录的路径:

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

You need to provide an absolute path.

This code from another answer gives you the path to the documents directory of your app:

 [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文