2011-08-29 10 views
5

मैंने पाया कि अंतिम शब्द डबल कोट्स के साथ दिखाया गया है। पर क्यों?एनएसएलओजी - अजीब व्यवहार

NSDictionary *guide2 = [NSDictionary dictionaryWithObjectsAndKeys:kArr, @"Kate", aArr, @"Ana-Lucia", kArr, @"John", nil]; 
NSArray *array = [guide2 allKeys]; 
NSLog(@"%@", [array description]); 

उत्पादन:

(
John, 
Kate, 
"Ana-Lucia" 
) 
+0

** aArr ** क्या है? – Nekto

+0

aArr - NSMutableArray – Voloda2

उत्तर

7

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

कुंजी को दो-कोट्स में प्रदर्शित किया जाता है यदि इसमें alphabets के अलावा कोई भी वर्ण शामिल है, भले ही यह underscore(_) या space हो।

7

क्योंकि यह सख्ती से अक्षरांकीय नहीं है और केवल एक शब्द। NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"a-b-c", @"a b c", nil]; आज़माएं, आप देखेंगे कि पहले दो को उद्धृत नहीं किया गया है। यह उस व्यक्ति से सिर्फ एक कार्यान्वयन विकल्प है जिसने वर्णन कोड लिखा था।