2011-06-09 89 views
3

所以我有一個名爲answers.txt文件,該文件是這樣的:iPhone閱讀文件 - 奇怪的行爲

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而不是分離0

現在的問題:

當我建立在模擬器,我得到線的正確數組,如果我分裂在\r\n和不正確的數組,如果我在\n分裂(我的意思是在\n不分裂但然後我再次每線在:分割,所述第二元件具有在所述端部的換行)

當我建立設備上,它剛好相反(這在正確地分割,如果我在\r\n我得到的只有一個元素分裂 - 可能是因爲沒有\r文件中)

我失去了一些東西在這裏?

回答

1

相當令人驚訝的是模擬器和設備有不同的行爲,但你可以通過使用該克服的問題:

[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

Here的文檔。