IOS में फाइल ओनर और फर्स्ट रिस्पोंडर क्या हैं - Xcode?


जवाबों:


170

फ़ाइल स्वामी एक त्वरित, क्रम वस्तु है जो आपके निब की सामग्री और उसके आउटलेट / क्रियाओं का मालिक है जब निब को लोड किया जाता है। यह आपके द्वारा पसंद किए जाने वाले किसी भी वर्ग का उदाहरण हो सकता है - टूल पैलेट की पहचान टैब पर एक नज़र डालें।

फ़ाइल स्वामी आपके एप्लिकेशन कोड और निब फ़ाइल की सामग्री के बीच मुख्य लिंक है।

उदाहरण के लिए, विचार करें कि आपके पास यूआईबेल के लिए एक IBOutlet के साथ एक UIViewController उपवर्ग है। इंटरफ़ेस बिल्डर में फ़ाइल का मालिक आपके UIViewController के समान वर्ग में सेट किया जाएगा। जब आपके निब को रनटाइम पर लोड किया जाता है, तो आपके निब में परिभाषित आउटलेट्स और कार्यों की बाइंडिंग आपके व्यू कंट्रोलर के उदाहरण से बंधी होती है, क्योंकि आपका व्यू कंट्रोलर मालिक होता है।

निम्ब का उपयोग कर लोड किया जाता है:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

स्वामी पैरामीटर विशेष रूप से महत्वपूर्ण है। यह उस वर्ग का रनटाइम उदाहरण है जो निम्ब के लोड होने की सामग्री (आउटलेट, क्रिया और वस्तु) का मालिक है।

उम्मीद है कि स्पष्ट है। काम पर इसे देखने के लिए एक नए नियंत्रक के साथ एक नया iPhone प्रोजेक्ट बनाएं। निब फ़ाइल खोलें और पहचान टैब पर एक नज़र डालें।

पहला उत्तरदाता केवल प्रत्युत्तर श्रृंखला में पहली वस्तु है जो घटनाओं पर प्रतिक्रिया दे सकता है। उत्तरदाता श्रृंखला एक रनटाइम संग्रह (या अधिक सटीक रूप से एक पदानुक्रम) वस्तुओं का है जो किसी घटना का जवाब दे सकती है। उदाहरण के लिए, विचार करें कि आपके पास एक दृश्य के साथ एक खिड़की है और उस दृश्य पर एक पाठ फ़ील्ड है।

यदि उस पाठ क्षेत्र पर ध्यान केंद्रित किया गया है तो यह श्रृंखला में पहले उत्तरदाता के रूप में जाना जाता है। इसलिए यदि आप पहले प्रत्युत्तर के लिए एक संदेश भेजते हैं तो इसे पहले पाठ क्षेत्र में भेजा जाएगा। यदि पाठ फ़ील्ड संदेश को संभाल नहीं सकती है तो उसे अगले उत्तरदाता को भेजा जाएगा । और अगला। और अगला, जब तक आपको उत्तरदाता श्रृंखला के अंत तक नहीं मिलता है या कुछ ने घटना (iirc) का उपभोग किया है।

उत्तरदाता श्रृंखला के बारे में पढ़ने लायक है - अधिक जानकारी के लिए हिट सेब के प्रलेखन।


1
@dannywartnaby: विस्तृत विवरण !! +1
जयप्रकाश दुबे

1
महान व्याख्या!
TMin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.