lazy और प्रॉपर्टी ऑब्ज़र्वर
स्थगित कार्य के लिए lazy संग्रहीत प्रॉपर्टी का उपयोग करें और willSet/didSet से संग्रहीत प्रॉपर्टी में होने वाले बदलाव देखें।
lazy और प्रॉपर्टी ऑब्ज़र्वर, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अवलोकन
इस पाठ में दो आवश्यक बातों पर ध्यान दिया गया है: विलंबित संग्रहीत गुणधर्म और गुणधर्म पर्यवेक्षक (willSet/didSet)।
विलंबित गुणधर्म
विलंबित गुणधर्म पहली बार एक्सेस किए जाने तक निर्माण को टाल देता है। यह महँगे कार्य या ऐसी स्थिति में उपयोगी है जहाँ self की आवश्यकता हो।
struct DataLoader {
lazy var data: [Int] = {
print("Loading data...")
return [1, 2, 3]
}()
}
var loader = DataLoader()
print("before access")
print(loader.data) // triggers initialization only nowविलंबित गुणधर्म और self
वर्ग आरंभीकरण के बाद self-पर निर्भर मानों को एक्सेस करने के लिए विलंबित गुणधर्मों का उपयोग कर सकते हैं।
class CacheOwner {
let name: String
lazy var hello: String = "Hi, " + name // uses self safely after init
init(name: String) { self.name = name }
}
let co = CacheOwner(name: "Ada")
print(co.hello)गुणधर्म पर्यवेक्षक
पर्यवेक्षक किसी संग्रहीत गुणधर्म में होने वाले परिवर्तन के पहले और बाद में चलते हैं। संदर्भ के लिए newValue और oldValue का उपयोग करें।
struct Counter {
var value: Int = 0 {
willSet { print("will set to", newValue) }
didSet { print("did set from", oldValue) }
}
}
var c = Counter()
c.value = 5
c.value = 9didSet से सीमा निर्धारित करना
असाइनमेंट के बाद मानों को सामान्य बनाने या उनकी सीमा निर्धारित करने के लिए didSet का उपयोग करें।
struct Score {
var raw: Int = 0 {
didSet {
if raw < 0 { raw = 0 }
if raw > 100 { raw = 100 }
}
}
}
var s = Score()
s.raw = 120 // clamped to 100
print(s.raw)
s.raw = -5 // clamped to 0
print(s.raw)टिप्पणियाँ
टिप्पणियाँ:
- विलंबित केवल var संग्रहीत गुणधर्मों के साथ काम करता है।
- पर्यवेक्षक संग्रहीत गुणधर्मों पर लागू होते हैं; परिकलित गुणधर्म इसके बजाय get/set तर्क का उपयोग करते हैं।
- स्टोरेज तैयार होने से पहले आरंभीकरण के दौरान पर्यवेक्षकों को नहीं बुलाया जाता।
विलंबित का अर्थ
त्वरित जाँच: lazy क्या करता है?
पुनरावलोकन
पुनरावलोकन: भारी सेटअप को टालने के लिए विलंबित गुणधर्मों का और सरल नियमों के साथ संग्रहीत गुणधर्मों में होने वाले परिवर्तनों पर प्रतिक्रिया देने के लिए willSet/didSet का उपयोग करें।
एआई शिक्षक के साथ Swift सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 122
- पाठ
- 409
अक्सर पूछे जाने वाले प्रश्न
क्या “lazy और प्रॉपर्टी ऑब्ज़र्वर” पाठ निःशुल्क है?
हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “lazy और प्रॉपर्टी ऑब्ज़र्वर” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“lazy और प्रॉपर्टी ऑब्ज़र्वर” में मैं क्या सीखूँगा?
स्थगित कार्य के लिए lazy संग्रहीत प्रॉपर्टी का उपयोग करें और willSet/didSet से संग्रहीत प्रॉपर्टी में होने वाले बदलाव देखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“lazy और प्रॉपर्टी ऑब्ज़र्वर” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- प्रॉपर्टी और सबस्क्रिप्ट
- lazy और प्रॉपर्टी ऑब्ज़र्वर
- get/set के साथ गणितीय प्रॉपर्टी
- कस्टम इंडेक्सिंग के लिए सबस्क्रिप्ट