थोड़ा देर हो चुकी है, लेकिन मुझे एक ही समस्या मिली और मैंने एक फिक्स या वर्कअराउंड भी खोजा। इसलिए इस पर ठोकर खाने वाले किसी भी व्यक्ति के लिए उत्तर मिलेगा :)
इसलिए समस्या तब होती है जब आप किसी फ़ाइल से स्ट्रिंग पढ़ते हैं, \ n xcode में विपरीत 2 वर्ण होंगे, संकलक \ n के रूप में पहचाना जाएगा।
"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
का उपयोग कैसे करें
तो मैं इस तरह NSString वर्ग बढ़ाया यह:
rootDict = [[NSDictionary alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"yourFile" ofType:@"plist"]];
NSString *string = [[rootDict objectForKey:@"myString"] newLineToString];
इसकी त्वरित और गंदे, इस बात से अवगत रहें कि आपकी फ़ाइल में \\ n को \ n नहीं लिखा जाएगा, इसलिए यदि आपको पाठ पर \ n लिखना है तो आपको विधि को संशोधित करना होगा :)
फाइल ब्रेक मैन्युअल रूप से काम कर सकते हैं यदि फ़ाइलें स्थिर हैं और कुछ हैं। लेकिन वास्तव में एक "सच" (कोड आधारित) समाधान नहीं है। केवल कोड आधारित समाधान मिहाई डेमियन और बसफिक्स के हैं। – Anshu
+1 जिसने चाल की थी! धन्यवाद! – Jean
यह आईआईएल 7 में यूआईएलएबल के साथ मेरे लिए ठीक काम करता है, हालांकि यह आईओएस 6 के साथ काम नहीं कर रहा है।मैं प्लिस्ट में 'विकल्प + रिटर्न' का उपयोग कर रहा हूं, लेकिन आईओएस 6 में मेरे यूलाबेल में लाइन ब्रेक नहीं है। क्या कोई और इस व्यवहार को देख रहा है? – njkremer