2012-12-08 39 views
5

मैं निम्न विधि है:नई लाइन NSLog उत्पादन में दिखाने चरित्र

- (NSString *)description { 
    return [NSString stringWithFormat:@"Attribute %@: %@", name, [values description]]; 
} 

नाम एक स्ट्रिंग है, मूल्यों एक NSArray है। मेरे पास एनएसएआरएआरई है जिसमें इनमें से कई ऑब्जेक्ट्स हैं।

जब मैं NSLog(@"Attribute created: %@", [newAttribute description]); यह ठीक काम करता है, और प्रिंट इस का उपयोग कर विशेषता प्रिंट:

2012-12-08 14:38:06.883 DT[25684:303] Attribute created: Attribute color: (
    YELLOW, 
    PURPLE 
) 
2012-12-08 14:38:06.884 DT[25684:303] Attribute created: Attribute size: (
    LARGE, 
    SMALL 
) 

हालांकि, अगर मैं एक NSMutableArray बना सकते हैं और कई विशेषता उस में वस्तुओं जगह है, मैं जब मैं सरणी प्रिंट इस आउटपुट प्राप्त इसी तरह:

2012-12-08 14:38:06.887 DT[25684:303] Attributes: (
    "Attribute color: (\n YELLOW,\n PURPLE\n)", 
    "Attribute size: (\n LARGE,\n SMALL\n)", 
) 

यह इस संदर्भ में न्यूलाइन चरित्र क्यों प्रिंट करता है, और मैं इसे ऐसा करने से कैसे रोकूं?

+0

क्या आपको कोई समाधान मिला? –

+0

अभी भी कोई समाधान नहीं है? कितना परेशान – taylorcressy

उत्तर

0

ऐसा इसलिए है क्योंकि जब आप विधि "विवरण" का उपयोग करके प्रिंट करते हैं तो डेटा स्ट्रिंग में परिवर्तित हो जाता है, इसलिए यह न्यूलाइन वर्ण नहीं दिखा रहा है। लेकिन जब आप सरणी का उपयोग कर प्रिंट कर रहे हैं तो सामग्री की स्ट्रिंग में परिवर्तित नहीं किया जाता है, इसलिए यह न्यूलाइन कैरेक्टर दिखा रहा है।

0

ऐसा लगता है कि इस सवाल का जवाब यहां गया था: https://stackoverflow.com/a/5599699/5760384

मूल रूप से, की तरह कहा की खोज, \ N चरित्र वर्णन में काम नहीं करता है, लेकिन किसी कारण एक गाड़ी वापसी करता है के लिए। तो इसके बजाय \ r कोशिश करें। मैंने एक्सकोड 7 में एक ओवरराइड विवरण विधि में इसका परीक्षण किया और यह ठीक काम करता है।

+0

डुप्लिकेट के रूप में एक प्रश्न को ध्वजांकित करने के लिए प्रतिष्ठा बनाते हैं। –