जब से आईओएस ऐप और ऑब्जेक्टिव सी पर काम करना शुरू किया है, मैं वास्तव में अलग-अलग स्थानों से हैरान हूँ, जहाँ कोई भी चर घोषित और परिभाषित कर सकता है। एक तरफ हमारे पास पारंपरिक सी दृष्टिकोण है, दूसरी तरफ हमारे पास नए ऑब्जेक्टिव निर्देश हैं जो उस के ऊपर ओओ जोड़ते हैं। क्या आप लोग मुझे उन सर्वोत्तम अभ्यासों और स्थितियों को समझने में मदद कर सकते हैं, जहाँ मैं अपने चरों के लिए इन स्थानों का उपयोग करना चाहता हूँ और शायद मेरी वर्तमान समझ को सही कर सकता हूँ?
यहाँ एक नमूना वर्ग (.h और .m) है:
#import <Foundation/Foundation.h>
// 1) What do I declare here?
@interface SampleClass : NSObject
{
// 2) ivar declarations
// Pretty much never used?
}
// 3) class-specific method / property declarations
@end
तथा
#import "SampleClass.h"
// 4) what goes here?
@interface SampleClass()
// 5) private interface, can define private methods and properties here
@end
@implementation SampleClass
{
// 6) define ivars
}
// 7) define methods and synthesize properties from both public and private
// interfaces
@end
- 1 और 4 के बारे में मेरी समझ यह है कि वे सी-स्टाइल फ़ाइल-आधारित घोषणाएं और परिभाषाएं हैं जिनकी कक्षा की अवधारणा के बारे में कोई भी समझ नहीं है, और इस तरह उन्हें वास्तव में उपयोग करना होगा कि सी में उनका उपयोग कैसे किया जाएगा। पहले स्टैटिक वैरिएबल-आधारित सिंग्लेट्स को लागू करने के लिए उपयोग किया जाता है। क्या अन्य सुविधाजनक उपयोग हैं जो मुझे याद आ रहे हैं?
- IOS के साथ काम करने से मेरा तात्पर्य यह है कि ivars को पूरी तरह से @synthesize निर्देश के बाहर चरणबद्ध रूप से बदल दिया गया है और इस तरह से ज्यादातर को अनदेखा किया जा सकता है। क्या यह मामला है?
- 5 के बारे में: मैं कभी निजी इंटरफेस में तरीकों की घोषणा क्यों करना चाहूंगा? मेरे निजी वर्ग के तरीके इंटरफ़ेस में एक घोषणा के बिना ठीक संकलन करने लगते हैं। क्या यह ज्यादातर पठनीयता के लिए है?
धन्यवाद एक गुच्छा, दोस्तों!