所以我有一个名为answers.txt
的文件,如下所示:
1:A
2:B
3:BC
......
所以一串由新行分隔的行
我使用此代码将行放入NSArray
:
NSStringEncoding encoding;
NSError* error;
NSString* myString = [NSString stringWithContentsOfFile:filePath usedEncoding:&encoding error:&error];
NSArray *lines = [myString componentsSeparatedByString:@"\n"];
该文件采用unix样式编写,因此行以\n
而不是\r\n
现在出现问题:
当我在模拟器上构建时,如果我在\r\n
分割,则会获得正确的行数组;如果我在\n
分割,则会得到错误的数组(我的意思是会在\n
拆分但是我再次拆分:
处的每一行,第二个元素在结尾处有换行符)
当我在设备上构建时,它完全相反(它在\n
正确分割,如果我在\r\n
分割,我只得到一个元素 - 可能因为文件中没有\r
我在这里错过了什么吗?
答案 0 :(得分:1)
非常令人惊讶的是模拟器和设备有不同的行为,但你可以通过使用它来解决这个问题:
[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
文档Here。