Swift Academy · पाठ

& के साथ प्रोटोकॉल संयोजन

कई प्रोटोकॉल को एकल प्रकार-आवश्यकता में संयोजित करना सीखें।

पाठ 1, कुल 4 में से12 चरण

& के साथ प्रोटोकॉल संयोजन, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

प्रोटोकॉल संयोजन से आप `&` का उपयोग करके कई प्रोटोकॉलों को एक ही प्रकार-आवश्यकता में मिला सकते हैं। यह बहु-विरासत के लिए Swift का समाधान है।

मूल संयोजन

```swift protocol Named { var name: String { get } } protocol Aged { var age: Int { get } } func describe(_ entity: Named & Aged) { print("\(entity.name) is \(entity.age)") } ``` `Named & Aged` एक अस्थायी प्रकार-आवश्यकता है, नया प्रोटोकॉल नहीं।

फ़ंक्शन पैरामीटर में उपयोग

```swift protocol Drawable { func draw() } protocol Animatable { func animate() } func render(_ view: Drawable & Animatable) { view.draw() view.animate() } ```

संयोजित प्रकारों को संग्रहीत करना

```swift var entity: Named & Aged = makePerson() entity.name // accessible entity.age // accessible ``` चर का प्रकार यह सीमित करता है कि किन प्रोटोकॉल सदस्यों तक पहुँच उपलब्ध होगी।

क्लासों के साथ संयोजन

```swift protocol Configurable { func configure() } func setup(_ vc: T) { vc.configure() present(vc, animated: true) } ``` जेनेरिक प्रकारों में `&` का उपयोग करके क्लास की आवश्यकता को प्रोटोकॉल के साथ संयोजित करें।

प्रोटोकॉल संयोजन बनाम नया प्रोटोकॉल

```swift // Don't create a new protocol just to combine: protocol NamedAndAged: Named, Aged {} // often unnecessary // Prefer inline composition at use sites: func describe(_ e: Named & Aged) { } ``` नए प्रोटोकॉल तभी उपयोगी होते हैं जब संयोजन के लिए एक्सटेंशन फ़ंक्शन आवश्यक हों।

लंबे संयोजनों के लिए प्रकार-उपनाम

```swift typealias Service = Authenticable & Cacheable & Loggable func process(service: Service) { service.authenticate() service.log("processing") } ``` आम तौर पर उपयोग किए जाने वाले संयोजनों को नाम देने के लिए `typealias` का उपयोग करें।

जेनेरिक बाध्यताओं में संयोजन

```swift func fetchAndCache(_ resource: T) async throws { let data = try await resource.fetch() resource.cache(data) } ```

प्रोटोकॉल विरासत बनाम संयोजन

• विरासत: `protocol C: A, B {}` — C, A और B की सभी आवश्यकताएँ विरासत में लेता है • संयोजन: `A & B` — सीधे उपयोग किया जाता है, कोई नया प्रकार नहीं बनता जब सभी अनुरूप प्रकारों के लिए दोनों आवश्यकताओं को पूरा करना अनिवार्य हो, तब विरासत का उपयोग करें; कॉल के स्थान पर संयोजन का उपयोग करें।

वास्तविक उदाहरण: प्रतिनिधि + DataSource

```swift func setup(_ vc: UITableViewDelegate & UITableViewDataSource) { tableView.delegate = vc tableView.dataSource = vc } ``` एकल दृश्य नियंत्रक अक्सर दोनों आवश्यकताओं को पूरा करता है — संयोजन से इसे संक्षेप में व्यक्त किया जा सकता है।

त्वरित जाँच

कौन-सा ऑपरेटर कई प्रोटोकॉलों को एक ही प्रकार-आवश्यकता में मिलाता है?

पुनरावलोकन

मुख्य बातें: • `Protocol1 & Protocol2` — सीधे किया गया संयोजन • इसका उपयोग पैरामीटरों, लौटाए गए प्रकारों और जेनेरिक बाध्यताओं में करें • `typealias` अक्सर उपयोग किए जाने वाले संयोजनों को नाम देता है • खाली-बॉडी वाले नए प्रोटोकॉल बनाने के बजाय संयोजन को प्राथमिकता दें • क्लास की आवश्यकताओं को भी मिला सकते हैं: `UIViewController & MyProtocol` अगला विषय: सशर्त अनुरूपता।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Swift सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
122
पाठ
409

अक्सर पूछे जाने वाले प्रश्न

क्या “& के साथ प्रोटोकॉल संयोजन” पाठ निःशुल्क है?

हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “& के साथ प्रोटोकॉल संयोजन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“& के साथ प्रोटोकॉल संयोजन” में मैं क्या सीखूँगा?

कई प्रोटोकॉल को एकल प्रकार-आवश्यकता में संयोजित करना सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“& के साथ प्रोटोकॉल संयोजन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. & के साथ प्रोटोकॉल संयोजन
  2. सशर्त अनुरूपता
  3. Self आवश्यकताएँ और Equatable डिज़ाइन
  4. प्रोटोकॉल-आधारित डिज़ाइन के सिद्धांत
← Swift Academy पर वापस जाएँ