आप गुणों तक पहुंचने के लिए डॉट नोटेशन का उपयोग कर सकते हैं (जैसा कि आप उदाहरण में करते हैं), लेकिन इंस्टेंस चर के पास केवल एक एक्सेस पथ है, इसलिए एकमात्र समाधान यदि आप एक आवृत्ति चर और स्थानीय चर दोनों को एक्सेस करना चाहते हैं तो देना है उन्हें अलग-अलग नाम।
औपचारिक रूप से बोलते हुए, यह लैम्ब्डा कैलकुस में alpha conversion पर प्रतिबंधों से संबंधित है, विशेष रूप से एक बाध्य चर बाध्य होना चाहिए और एक मुक्त चर मुक्त रहना चाहिए।
यदि आपको स्थानीय लोगों के लिए "ए" उपसर्ग पसंद नहीं है, तो आप उदाहरण चर के लिए "_" उपसर्ग सम्मेलन का उपयोग कर सकते हैं, क्योंकि वे प्रभावी ढंग से चर सुरक्षित भी हैं।
@interface AClass {
id _object;
}
@property (retain) id object;
@end
@implementation AClass
@synthesize object = _object;
- (void)doSomething:(id)object
{
[_object befriend:object];
}
...
बेशक
, "_" के रूप में पढ़ता यह बस के रूप में के रूप में "एक"/"एक" से पहले मानकों अरुचिकर हो सकता है "मेरे", इसलिए। उदाहरण के रूप में नामकरण सबसे अच्छा समाधान है और स्थानीय चर के अलग-अलग भूमिकाएं हैं, और उनके नामों को इसे प्रतिबिंबित करना चाहिए।
जब आप "स्थानीय चर" कहते हैं, तो मुझे लगता है कि आपका मतलब "आवृत्ति चर" है। पैरामीटर एक प्रकार का स्थानीय चर है। – outis
धन्यवाद आउटिस। मैंने सवाल को सही किया। इस उत्तर के लिए – titaniumdecoy