Cocoa touch 使用NSString initWithContents of文件读取文件时遇到问题
在这个程序中,当我调试时,它显示fileNameString的nil。我不明白是什么问题。请帮帮我Cocoa touch 使用NSString initWithContents of文件读取文件时遇到问题,cocoa-touch,iphone-sdk-3.0,nsstring,Cocoa Touch,Iphone Sdk 3.0,Nsstring,在这个程序中,当我调试时,它显示fileNameString的nil。我不明白是什么问题。请帮帮我 @implementation fromFileRead1 NSString *fileNameString; -(id)init { if( (self = [super init]) ) { fileNameString = [[NSString alloc] initWithContentsOfFile: @"enemyDetails.rtf" encod
@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
多谢各位
您需要使用字符串指定文件的完整路径,因此此部分肯定存在问题:
... initWithContentsOfFile: @"enemyDetails.rtf" ...
您需要的确切路径取决于您存储文本文件的位置。如果它是捆绑包中的资源,则可以使用-pathForResource:
函数从NSBundle
获取路径:
NSString *fPath = [[NSBundle mainBundle] pathForResource:@"enemyDetails" ofType:@"rtf"];
如果它存储在应用程序沙箱中的另一个目录中-请参阅“开发人员编程指南”中有关如何获取路径的部分。您需要使用字符串指定文件的完整路径,因此此部分一定存在问题:
... initWithContentsOfFile: @"enemyDetails.rtf" ...
您需要的确切路径取决于您存储文本文件的位置。如果它是捆绑包中的资源,则可以使用-pathForResource:
函数从NSBundle
获取路径:
NSString *fPath = [[NSBundle mainBundle] pathForResource:@"enemyDetails" ofType:@"rtf"];
如果它存储在应用程序沙箱中的另一个目录中,请参阅“开发人员编程指南”中关于如何获取路径的部分。我是用另一种方式做的。我得到了我需要的。但是,前面的方法有什么错呢。请建议。我们能不能用它?我用另一种方法。我得到了我需要的。但是,前面的方法有什么错呢。请建议。我们能不能用它?嗨,谢谢你,我想不需要完整的路径。正如,它适用于我的.png文件,我认为它也适用于此。您好,谢谢,我认为不需要完整的路径。因为,它适用于我的.png文件,我认为它也适用于此。