2011-12-10 7 views
6

उदाहरण:सशर्त संकलन ब्लॉक में Xcode4 कोई सिंटैक्स हाइलाइटिंग क्यों नहीं करता है?

#ifdef FREE_VERSION 
    tf.text = @"Free"; 
    NSLog(@"FREE VERSION"); 
#else 
    tf.text = @"Paid"; 
    NSLog(@"PAID VERSION"); 
#endif 

पहले भाग Xcode में ठीक लग रहा है।

tf.text = @"Free"; 
    NSLog(@"FREE VERSION"); 

वाक्यविन्यास-हाइलाइट किया गया है। हालांकि, दूसरे भाग नहीं है:

tf.text = @ "भुगतान";

NSLog (@ "भुगतान किया संस्करण");

वहाँ की तरह "सशर्त cimpilation कोड की #else भागों में प्रकाश डाला वाक्य रचना मत करो" एक सेटिंग है?

उत्तर

9

XCode कोशिश करते हैं और जो निर्धारित पूर्वप्रक्रमक शाखा ले जाया जाएगा होगा। जिस शाखा को निष्पादित करने की उम्मीद है, उसमें सिंटैक्स हाइलाइटिंग होगी जबकि दूसरा नहीं होगा।

3

XCode और विजुअल स्टूडियो (गैर लिया गया) सशर्त ब्लॉक के कोड को हाईलाईट नहीं होंगे सहित ज्यादातर IDEs क्योंकि कई मामलों में यह त्रुटियों को लागू करते हैं और प्रकाश डाला में गड़बड़ नहीं है में परिणाम होगा।

#ifdef __APPLE__ 
// Do something that uses apple-only headers/functions 
#endif 
#ifdef _MSVC_VER 
// Do something that visual studio recognizes 
#endif 

कई प्लेटफ़ॉर्म पर चलने वाले कोड के लिए उपयोग पर विचार करें। विजुअल स्टूडियो को कोई एहसास नहीं होगा कि ऐप्पल फ़ंक्शन नामों को हाइलाइट करने के तरीके और एक्सकोड को पता नहीं चलेगा कि विजुअल स्टूडियो प्रागम्स इत्यादि के बारे में क्या करना है

संबंधित मुद्दे