स्विफ्ट दस्तावेज़ीकरण कहता है कि कक्षाएं , संरचना और एनम सभी प्रोटोकॉल के अनुरूप हो सकते हैं, और मैं एक बिंदु पर पहुंच सकता हूं जहां वे सभी अनुरूप होते हैं। लेकिन मैं कक्षा और संरचनात्मक उदाहरणों की तरह व्यवहार करने के लिए enum प्राप्त नहीं कर सकता :
protocol ExampleProtocol {
var simpleDescription: String { get set }
mutating func adjust()
}
class SimpleClass: ExampleProtocol {
var simpleDescription: String = "A very simple class."
var anotherProperty: Int = 69105
func adjust() {
simpleDescription += " Now 100% adjusted."
}
}
var a = SimpleClass()
a.adjust()
let aDescription = a.simpleDescription
struct SimpleStructure: ExampleProtocol {
var simpleDescription: String = "A simple structure"
mutating func adjust() {
simpleDescription += " (adjusted)"
}
}
var b = SimpleStructure()
b.adjust()
let bDescription = b.simpleDescription
enum SimpleEnum: ExampleProtocol {
case Base
var simpleDescription: String {
get {
return "A Simple Enum"
}
set {
newValue
}
}
mutating func adjust() {
self.simpleDescription += ", adjusted"
}
}
var c = SimpleEnum.Base
c.adjust()
let cDescription = c.simpleDescription
मुझे पता नहीं चला है कि simpleDescription
कॉलिंग के परिणामस्वरूप बदलने के लिए कैसे प्राप्त करें adjust()
। मेरा उदाहरण स्पष्ट रूप से ऐसा नहीं करेगा क्योंकि गेट्टर के पास एक हार्ड-कोडित मूल्य है, लेकिन मैं simpleDescription
अभी भी के अनुरूप होने के लिए एक मूल्य कैसे निर्धारित कर सकता हूं ExampleProtocol
?