所以我想要完成的是从一个txt文件中创建一个NSArray,每个单词都是该数组中的一个对象。下面是一些不起作用的代码。没有崩溃但没有做任何事情。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"badwords" ofType:@"txt"];
if (filePath) {
NSString *fileContents = [NSString stringWithContentsOfFile:@"badwords.txt" encoding:NSUTF8StringEncoding error:nil];
lines = [fileContents componentsSeparatedByString:@"\n"];
}
行是NSArray。
为什么这不起作用?每个单词都以换行符分隔。
答案 0 :(得分:2)
一个很好的理由:[NSString stringWithContentsOfFile: ...]
应该将您在前面的语句中派生的filePath
作为参数,不是 @"badwords.txt"
,即文字字符串文件名。这就是在第一行中导出filePath
的全部原因 - 然后你想在第二行中使用它。
换句话说,我只是说你应该改变这个:
NSString *fileContents = [NSString stringWithContentsOfFile:@"badwords.txt" encoding:NSUTF8StringEncoding error:nil];
到此:
NSString *fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];