немного поздно, но я обнаружил ту же проблему и обнаружил исправление или обходной путь.
так что для любого, кто наткнется на это, получит ответ:)
проблема в том, что когда вы читаете строку из файла, \ n будет 2 символами, в отличие от xcode, компилятор распознает \ n как единое целое.
поэтому я расширил класс NSString следующим образом:
"NSString + newLineToString.h":
@interface NSString(newLineToString)
-(NSString*)newLineToString;
@end
"NSString + newLineToString.m":
#import "NSString+newLineToString.h"
@implementation NSString(newLineToString)
-(NSString*)newLineToString
{
NSString *string = @"";
NSArray *chunks = [self componentsSeparatedByString: @"\\n"];
for(id str in chunks){
if([string isEqualToString:@""]){
string = [NSString stringWithFormat:@"%@",str];
}else{
string = [NSString stringWithFormat:@"%@\n%@",string,str];
}
}
return string;
}
@end
Как это использовать:
rootDict = [[NSDictionary alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"yourFile" ofType:@"plist"]];
NSString *string = [[rootDict objectForKey:@"myString"] newLineToString];
он быстрый и грязный, имейте в виду, что \\ n в вашем файле не будет распознаваться как \ n, поэтому, если вам нужно написать \ n в тексте, вы должны изменить метод:)