在我调试的程序中,它显示了fileNameString的nil。我无法理解这是什么问题。请帮帮我?
@implementation fromFileRead1
NSString *fileNameString;
-(id)init
{
if( (self = [super init]) )
{
fileNameString = [[NSString alloc] initWithContentsOfFile: @"enemyDetails.rtf" encoding:NSUTF8StringEncoding error:nil];
NSArray *lines = [fileNameString componentsSeparatedByString:@"\n"];
for (id *line in lines)
{
NSLog(@"Line1%@", line );
}
}
return self;
}
@end
谢谢。
-(id)init
{
if( (self = [super init]) )
{
NSString *path = @"/Users/sridhar/Desktop/Projects/exampleOnFile2/enemyDetals.txt";
NSString *contentsOfFile = [[NSString alloc] initWithContentsOfFile:path];
NSArray *lines = [contentsOfFile componentsSeparatedByString:@"\n"];
for (id *line in lines)
{
NSLog(@"Line1%@", line );
}
}
return self;
}
@end
答案 0 :(得分:4)
您需要使用字符串指定文件的完整路径,因此问题必须与此部分有关:
... initWithContentsOfFile: @"enemyDetails.rtf" ...
您需要的确切路径取决于存储文本文件的位置。如果它是您的捆绑包中的资源,您可以使用-pathForResource:
中的NSBundle
函数获取路径:
NSString *fPath = [[NSBundle mainBundle] pathForResource:@"enemyDetails" ofType:@"rtf"];
如果它存储在应用程序沙箱中的另一个目录中 - 请参阅“开发人员编程指南”中的Getting Paths to Application Directories部分,了解如何获取它们的路径。