क्योंकि स्ट्रिंग यह अंक बदला नहीं जा सकता करने के लिए पूर्व स्थिरांक के लिए आदर्श है:
//.h
extern NSString * const MyConstant;
//.m
NSString * const MyConstant = @"MyConstant";
...
MyConstant = @"Bad Stuff"; // << YAY! compiler error
and
//.h
extern NSString *MyConstant;
//.m
NSString *MyConstant = @"MyConstant";
...
MyConstant = @"Bad Stuff"; // << NO compiler error =\
संक्षेप में
, उपयोग स्थिरांक (पूर्व) डिफ़ॉल्ट रूप से। यदि आप इसे सड़क से बदलने की कोशिश करते हैं तो संकलक आपको बताएगा - फिर आप यह तय कर सकते हैं कि यह आपकी तरफ से गलती है या यदि ऑब्जेक्ट जो इंगित करता है वह बदल सकता है। यह एक अच्छा सुरक्षा है जो बहुत सारी बग/हेडक्रैचिंग बचाता है।
extern int MyInteger; // << value may be changed anytime
extern const int MyInteger; // << a proper constant
:
अन्य विभेद एक मूल्य के लिए है