Swift प्रोटोकॉल में वैकल्पिक (ऑप्शनल) विधियाँ कैसे घोषित करें?
सभी को नमस्कार! मैं Swift में नया हूँ और प्रोटोकॉल को समझने की कोशिश कर रहा हूँ। मेरे पास एक प्रोटोकॉल `MyDelegate` है जिसमें कई विधियाँ हैं। मैं चाहता हूँ कि इनमें से कुछ विधियाँ कार्यान्वयन के लिए वैकल्पिक हों—अर्थात, प्रोटोकॉल को अपनाने वाला class उन्हें कार्यान्वित न करे यदि उनकी आवश्यकता न हो।
Objective-C में मैंने बस `@optional` का उपयोग किया, लेकिन Swift में यह काम नहीं करता। उदाहरण के लिए, मेरे पास यह कोड है:
```swift
protocol MyDelegate {
func didStartTask()
func didFinishTask()
func didFailWithError(error: Error) // मैं इस विधि को वैकल्पिक बनाना चाहता हूँ
}
```
जब मैं विधि से पहले `@optional` लिखने का प्रयास करता हूँ, तो कंपाइलर त्रुटि देता है: "Optional requirements are only supported in @objc protocols"। मैं `@objc` का उपयोग नहीं करना चाहता क्योंकि मेरा class NSObject से विरासत में नहीं आता।
Swift प्रोटोकॉल में Objective-C runtime से बंधे बिना वैकल्पिक विधियाँ कैसे घोषित करें? क्या Swift में विधि को वैकल्पिक बनाने का कोई तरीका है? या क्या extension का उपयोग करना आवश्यक है?