iPhone读取文件-奇怪的行为

iPhone读取文件-奇怪的行为,iphone,objective-c,ios,Iphone,Objective C,Ios,所以我有一个名为answers.txt的文件,看起来像这样: 1:A 2:B 3:BC ...... 所以一堆线被一条新线隔开 我使用此代码将行放入NSArray: NSStringEncoding encoding; NSError* error; NSString* myString = [NSString stringWithContentsOfFile:filePath usedEncoding:&encoding error:&error]; NSArray *l

所以我有一个名为
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


我遗漏了什么吗?

令人惊讶的是,模拟器和设备有不同的行为,但您可以通过使用以下方法来克服问题:

[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
对于文档