如何将文件的内容存储到NSString中?

时间:2014-04-29 04:30:34

标签: objective-c cocoa nsstring nsbundle

嗯这很尴尬,我看到很多问题得到了解答,我复制了很多答案,但没有人适合我,我是新的目标C,我知道这里的规则,我google了,我看到了很多目标C,Xcode,编程,C,论坛,博客,在这里,我得到了坚果。这是我的想法

代码:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSError *error = NULL;
        NSString* pathFile = [[NSBundle mainBundle] pathForResource:@"file"
                                                                  ofType:@"txt"];
        NSString* content = [NSString stringWithContentsOfFile:pathFile
                                                            encoding:NSUTF8StringEncoding
                                                               error:&error];
        if (error)
            NSLog(@"Error reading file: %@", error.localizedDescription);
        NSLog(@"%@", content);
    }
    return 0;
}

它非常简单,在原始应用程序中它很复杂,但这是我遇到麻烦的部分。

继承人的文件......

enter image description here

Heres是结果:

2014-04-28 21:45:17.213 LeerFile[6930:303] Error reading file: The file name is invalid.
2014-04-28 21:45:17.214 LeerFile[6930:303] (null)

最后这里是Build阶段......

enter image description here

伙计们,请帮助我,我尝试但我不知道我做错了什么或如何解决它......

1 个答案:

答案 0 :(得分:2)

问题是您将文件复制到/ usr / share / man / man1 /,但是您要在捆绑资源文件夹中查找该文件。您需要将文件复制到resources文件夹中,或者将其他路径传递给[NSString stringWithContentsOfFile:encoding:error:];

此外,您已选中&#34;仅在安装时复制,&#34;这意味着它不会复制调试版本中的文件。