में फ्रेमवर्क मैं केवल AVFoundation.Framework
के नमूना कोड के माध्यम से जा रहा हूं ->AVSimpleEditoriOS
& मुझे निम्न पंक्ति मिली जो मुझे समझ में नहीं आया।AVFoundation में स्थिर शून्य सूचक। नमूना कोड
static void *AVSEPlayerItemStatusContext = &AVSEPlayerItemStatusContext;
static void *AVSEPlayerLayerReadyForDisplay = &AVSEPlayerLayerReadyForDisplay;
दो पंक्तियों से ऊपर
static void *AVSEPlayerItemStatusContext = nil;
static void *AVSEPlayerLayerReadyForDisplay = nil;
निम्नलिखित पर विचार, मैं पता लगा सकते हैं कि उन 2 static void/कुछ फैंसी नाम के साथ सामान्य संकेत दिए गए हैं।
अब वापस उन 2 लाइनों के लिए, मैं इसे यहाँ फिर से चिपकाने कर रहा हूँ,
static void *AVSEPlayerItemStatusContext = &AVSEPlayerItemStatusContext;
static void *AVSEPlayerLayerReadyForDisplay = &AVSEPlayerLayerReadyForDisplay;
ऊपर मतलब है, 2 static void/सामान्य उसके अपने & के संदर्भ भंडारण संकेत दिए गए कारण है कि यह क्या अर्थ में की जरूरत होगी है?
मुझे ऐसे कोडिंग पैटर्न को जानने के लिए बस थोड़ी सी मार्गदर्शिका चाहिए। ज्ञान के लिए प्रतीक्षारत।
क्या इसका मतलब है - हम इसे संदर्भ के रूप में पास कर रहे हैं (डेटाबेस में रिकॉर्ड की एक अद्वितीय आईडी की तरह) और आंतरिक ढांचे से प्रतिक्रिया प्राप्त करते समय, हम संदर्भ के लिए प्रतिक्रिया की पहचान कर सकते हैं? –
@ स्पार्क: हाँ, बिल्कुल। 'AddObserver' के संदर्भ पैरामीटर को पॉइंटर वैरिएबल की आवश्यकता होती है, इसलिए यह एक अद्वितीय पॉइंटर चर बनाने का एक सुविधाजनक तरीका है। - मैंने विचार को और स्पष्ट करने के लिए थोड़ा सा जवाब बढ़ा दिया है। –
बस एक नोट: अद्वितीय संदर्भ पॉइंटर्स को आम तौर पर कुंजी पथ तारों पर प्राथमिकता दी जाती है क्योंकि यह संभव है कि सुपरक्लास में से एक भी उसी कुंजी पथ को देख रहा हो। –