के लिए उद्देश्य-सी # परिभाषित निर्देश डायरेक्टिज्ड मैंने कई पोस्ट में पढ़ा है और ऐप्पल के कोड दिशानिर्देशों में ऑब्जेक्टिव-सी स्ट्रिंग स्थिरांक को बाहरी NSString *const MY_CONSTANT;
के रूप में परिभाषित किया जाना चाहिए और #define निर्देश से बचा जाना चाहिए। ऐसा क्यों है? मुझे पता है कि #define
प्रीकंपाइल समय पर चलाया जाता है लेकिन सभी स्ट्रिंग एक ही मेमोरी एड्रेस साझा करेंगे। मैंने जो एकमात्र लाभ पढ़ा था वह यह था कि यदि निरंतर अद्यतन या बदला जाना चाहिए तो आपको अपनी पूरी परियोजना को पुन: संकलित करने की आवश्यकता नहीं है। तो यही कारण है कि #define से बचा जाना चाहिए?स्ट्रिंग स्थिरांक
धन्यवाद
अद्यतन: इस मामले में एक #define उपयोग करने के लिए अच्छा है या वहाँ एक बेहतर तरीका है?
/* Constants Definition */
#define SERVER_URL @"http://subdomain.domain.edu.ar/Folder/"
NSString *const ServerURL = SERVER_URL;
NSString *const LoginURL = [email protected]"welcome.asp";
NSString *const CommandURL = [email protected]"com.asp";
उद्देश्य # सी को परिभाषित क्यों करें "दुनिया" 'उद्देश्य-सी में काम नहीं करता है? – Dirk
'# परिभाषित MyConstantString @" स्ट्रिंग मान "' काम नहीं करता है? – Chuck
# परिभाषा सिर्फ एक टेक्स्ट प्रतिस्थापन करता है, इसलिए मुझे नहीं लगता कि क्यों # MSf @ "हैलो" काम नहीं करेगा – GuidoMB