iPhone 读取文件 - 奇怪的行为

标签 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 *lines = [myString componentsSeparatedByString:@"\n"];

文件是 unix 风格编写的,所以行之间用 \n 分隔,而不是 \r\n

现在解决问题:

当我在模拟器上构建时,如果我在 \r\n 处拆分,我得到一个正确的行数组,如果我在 处拆分,我得到一个不正确的数组\n(我的意思是它确实在 \n 处拆分,但随后我在 : 处再次拆分每一行,第二个元素末尾有一个换行符)

当我在设备上构建时,它的作用恰恰相反(它在 \n 处正确拆分,如果我在 \r\n 我只得到一个元素 - 可能是因为文件中没有 \r)

我是不是漏掉了什么?

最佳答案

很奇怪模拟器和设备有不同的行为,但是你可以通过使用这个来克服这个问题:

[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

Here对于文档。

关于iPhone 读取文件 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289463/

相关文章:

iphone - 使用NSUserDefaults检测应用程序的初始启动

ios - 区分手指触摸和 Apple Pencil 触摸

iphone - sectionNameKeyPath 通过多重关系

iphone - 类不符合键值编码

ios - 我可以拥有一个应用程序的两个版本,且具有不同的 BundleId 和相同的显示名称吗?

ios - 创建带有文本和十字符号的动态标签

iphone - 无法识别的选择器已发送到UIRefreshControl

objective-c - 一个简单的 PDFKit 程序中奇怪的 EXC_BAD_ACCESS

ios - 如何以编程方式向 Swift 2 中的按钮添加约束?

ios - 如何在 Swift/Xcode 中对 1 个数组进行排序并通过相同的键更改对多个其他数组进行重新排序