2011-04-26 7 views
12

संभव डुप्लिकेट:उद्देश्य सी में कार्यान्वयन संदर्भ के अंदर और बाहर स्थैतिक चर घोषित करने के बीच अंतर?

@implementation ClassA 

static NSString *str = nil; 

..... 

@end 

तरह
Where do I have to declare static variables?

मैंने देखा है कोड के साथ-साथ

static NSString *str = nil; 

@implementation ClassA 

..... 

@end 

क्या diffe है अगर एक स्थिर वर @implmentation संदर्भ बनाम बाहर

+0

Pls उल्लेख इस तो सवाल http://stackoverflow.com/questions/1662903/where-do-i-have-to-declare-static-variables – visakh7

+0

@ 7KV7 यदि आप में से किसी सामग्री * जोड़ने नहीं कर रहे हैं आपका अपना *, एक टिप्पणी को प्राथमिकता दी जाती है –

उत्तर

16

अंदर घोषित किया जाता है Rence वहाँ

@implementation ClassA 

static NSString *str = nil; 

..... 

@end 

और

static NSString *str = nil; 

@implementation ClassA 

..... 

@end 

वे उसी तरह काम ...

बीच कोई अंतर नहीं

स्टेटिक चर वर्ग objec देने में मदद करते हैं की तुलना में अधिक कार्यक्षमता उदाहरणों का उत्पादन करने वाले "कारखाने" की तुलना में अधिक कार्यक्षमता; यह अपने अपने दाहिनी ओर पूर्ण और बहुमुखी वस्तु होने के दृष्टिकोण से संपर्क कर सकता है। उदाहरणों को समन्वयित करने के लिए का उपयोग किया जा सकता है, से पहले से बनाए गए ऑब्जेक्ट्स की सूचियां, या एप्लिकेशन के लिए आवश्यक अन्य प्रक्रियाओं का प्रबंधन करती है। इस मामले में जब आप किसी विशेष कक्षा के केवल एक ऑब्जेक्ट की आवश्यकता है, तो आप सभी ऑब्जेक्ट के स्थिति को स्थैतिक चर में डाल सकते हैं और केवल क्लास विधियों का उपयोग कर सकते हैं। यह आवंटित करने और को आवंटित करने के चरण को सहेजता है।

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