2009-02-16 19 views
14

अगर मैं ऐसा इस तरह की स्ट्रिंग निरंतर घोषित:पूर्णांक स्थिरांक

आप की तरह

// Constants.h 
extern NSString * const MyFirstConstant; 
extern NSString * const MySecondConstant; 
//etc. 

एक हेडर फाइल बनाने चाहिए आप स्थिरांक का उपयोग करता है प्रत्येक फ़ाइल में या पूर्व संकलित में इस फ़ाइल को शामिल कर सकते हैं परियोजना के लिए हेडर।

आप मैं पूर्णांक स्थिरांक क्या परिभाषित करने के लिए क्या करते

// Constants.m 

NSString * const MyFirstConstant = @"FirstConstant"; 
NSString * const MySecondConstant = @"SecondConstant"; 

की तरह एक मीटर फ़ाइल में इन स्थिरांक को परिभाषित?

उत्तर

37

NSItteger के साथ NSString * को बदलें।

यह किसी भी निरंतर प्रकार के बारे में सच है, चाहे वह इंट/फ्लोट, या एनएसएसटींग या एनएसआईएनटेगर जैसी कक्षा हो।

केवल एक चीज के बारे में पता होना करने के लिए है कि क्या आप एक निरंतर या (जैसे withNSString के रूप में) एक निरंतर करने के लिए एक सूचक की इच्छा है, और यह कैसे .m फ़ाइल में

पूर्णांक उदाहरण प्रारंभ कर रहा है:

// constants.h 
extern NSInteger const MyIntegerConstant; 

// constants.m 
NSInteger const MyIntegerConstant = 666; 

(नोट: कारण के लिए क्यों बस नियमित "int" के बजाय NSInteger, this post देख)

कक्षा उदाहरण:

// constants.h 
extern MyClass* const MyClassConstant; 

// constants.m 
MyClass* const MyClassConstant= [[MyClass alloc] initWith: paramOne and:paramTwo]; 
+0

धन्यवाद एंड्रयू - क्या इस वर्ग को हटा दिया जाएगा? –

+0

यह नहीं होगा, जब कार्यक्रम निकलता है तो यह स्मृति साफ़ हो जाएगी। यदि आप इस पर मैन्युअल नियंत्रण रखना चाहते हैं तो आप अपने प्रोग्राम के शुरुआती/अंत में प्रारंभिक कॉनस्ट्स/रिलीज कॉन्स्ट्स फ़ंक्शन जोड़ सकते हैं –

+1

धन्यवाद एंडी - मैं अपने ऐड में उपरोक्त कोड का उपयोग कर रहा हूं और मुझे अपने स्विच स्टेटमेंट में संकलन त्रुटि मिल रही है : "MyIntegerConstant" एक पूर्णांक के समान नहीं है –

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