我以前做过,但现在对我不起作用。我在做:
NSString* path = [[NSBundle mainBundle] pathForResource:@"test"
ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
NSLog(@"%@",path);
并且每次我NSLog路径和内容时都会返回(null)
。谁能看到我做错了什么?
最佳答案
如果您将其传递给它无法打开的路径,则内容将为 nil(其记录为 '(null)')。因此,您唯一的问题是 NSBundle 的相关实例无法在应用程序包的资源部分中找到 test.txt。
你应该:
- 检查文件是否在您的 Xcode 项目中;如果是的话,
- 检查它是否包含在所选目标下方的“复制 bundle 资源”阶段(在正常 Xcode 窗口布局左侧的项目 TreeView 中),如果包含,则
- 查看生成的应用程序包(找到您的产品,右键单击,选择“在 Finder 中显示”,从 Finder 中右键单击应用程序并选择“显示包内容”,然后在其中查找您的文件)以确保它就在那里。
如果它被复制了,但相关的 NSBundle 实例找不到它,那么一些非常奇怪的事情正在发生。
关于objective-c - objective-c : Reading text files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043864/