所以我有一个名为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
而不是rn
分隔
现在解决问题:
当我在模拟器上构建时,如果我在rn
处拆分,我会得到一个正确的行数组,如果在n
处拆分,就会得到一个不正确的数组(我的意思是它确实在n
处拆分,但随后我在:
处再次拆分每一行,第二个元素在末尾有一个换行符)
当我在设备上构建时,它的作用正好相反(它在n
处正确拆分,如果我在rn
处拆分,我只得到一个元素-可能是因为文件中没有r
)
我是不是遗漏了什么?
令人惊讶的是,模拟器和设备有不同的行为,但你可以通过使用以下方法来克服这个问题:
[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
这是文件。