NSBundle为什么控制台输出(null)?

时间:2016-01-21 11:54:01

标签: ios objective-c

  

main.m for test

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"bookinf"
                                                         ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:filePath
                                                  encoding:NSUTF8StringEncoding
                                                     error:nil];
    NSLog(@"file content : %@" , content);
  

bookinf.txt内容:'<'C编程语言>

1 个答案:

答案 0 :(得分:0)

您需要一次调试一步。如果pathForResource找不到该文件,则返回nil。如果stringWithContentsOfFile为零,则filePath将失败(不确定是否会返回nil或崩溃)。

正如Anbu在他的回答中所说,最可能的原因是你没有设置要包含在应用程序包中的文件。假设您已将文件添加到项目中,请检查文件检查器并确保在“目标成员资格”下检查您的应用程序