यह कोड क्यों काम नहीं करता है?स्विफ्ट का उपयोग कर एक विस्तार रिटर्न में एक उत्परिवर्तन फ़ंक्शन कैसे करें?
protocol ExampleProtocol {
var simpleDescription: String { get }
mutating func adjust()
}
extension Int: ExampleProtocol {
var simpleDescription: String {
return "The number \(self)"
}
mutating func adjust() {
self += 42
}
}
var x:Int = 7
let y:Int = x.adjust()
यहाँ
मैं Xcode पर क्या मिलेगा
वहाँ प्रोटोकॉल में अपनी परिभाषा को बदले बिना() वापसी इंट समायोजित करने के लिए एक तरीका है?
हालांकि मैं प्रोटोकॉल को बदलना नहीं चाहता! – Carpsen90
आपको प्रोटोकॉल को बदलने की ज़रूरत नहीं है, लेकिन यदि आप रिटर्न वैल्यू चाहते हैं तो आपको रिटर्न वैल्यू के साथ विधि को लागू करना होगा। यदि लागू विधि और प्रोटोकॉल-परिभाषित विधि में समान पैरामीटर नहीं हैं और मान वापस आते हैं, तो यह अभी भी काम करेगा लेकिन इसे प्रोटोकॉल को सही ढंग से कार्यान्वित नहीं माना जाएगा – connor