Avatar ·

शुद्ध Swift में प्रोटोकॉल पर कमजोर संदर्भ कैसे बनाएं (@objc के बिना)

सभी को नमस्कार! मैं Swift में नया हूँ और delegate पैटर्न लागू करते समय एक समस्या का सामना कर रहा हूँ। मेरे पास एक प्रोटोकॉल `MyDelegate` और एक क्लास `ViewController` है, जो दूसरी क्लास `Service` का delegate होना चाहिए। मैं चाहता हूँ कि `Service` में `delegate` प्रॉपर्टी एक कमजोर संदर्भ (weak reference) हो, ताकि मजबूत संदर्भ चक्र और मेमोरी लीक से बचा जा सके। यहाँ मेरा कोड है: ```swift protocol MyDelegate { func didSomething() } class Service { weak var delegate: MyDelegate? // त्रुटि: 'weak' को गैर-क्लास प्रकार 'MyDelegate' पर लागू नहीं किया जा सकता func performTask() { delegate?.didSomething() } } class ViewController: MyDelegate { func didSomething() { print("कार्य पूर्ण!") } } ``` Xcode त्रुटि देता है: `'weak' cannot be applied to non-class type 'MyDelegate'`। मैं समझता हूँ कि `weak` केवल संदर्भ प्रकारों (क्लास) के साथ काम करता है, लेकिन प्रोटोकॉल को क्लास और स्ट्रक्चर दोनों द्वारा अपनाया जा सकता है। प्रोटोकॉल पर कमजोर संदर्भ सही तरीके से कैसे बनाएं?