【Swift学习笔记00】——enumeration枚举类型遵循协议protocol
生活随笔
收集整理的這篇文章主要介紹了
【Swift学习笔记00】——enumeration枚举类型遵循协议protocol
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Apple官方文檔:The Swift Programming Language
Protocols and Extensions一節的小節練習,要求自行定義一個enumeration枚舉類型,并且遵循ExampleProtocol協議:
protocol ExampleProtocol {var simpleDescription: String { get }mutating func adjust() }
在網上找了好久,都不知道怎樣實現,最后參照一篇帖子(http://forums.macrumors.com/showthread.php?t=1740890),最終實現如下:
enum EnumConformToProtocol: ExampleProtocol {case First(String), Second(String), Third(String)var simpleDescription: String {get {switch self {case let .First(text):return textcase let .Second(text):return textcase let .Third(text):return textdefault:return "get error"}}set {switch self {case let .First(text):self = .First(newValue)case let .Second(text):self = .Second(newValue)case let .Third(text):self = .Third(newValue)}}}mutating func adjust() {switch self {case let .First(text):self = .First(text + " (first case adjusted)")case let .Second(text):self = .Second(text + " (second case adjusted)")case let .Third(text):self = .Third(text + " (third case adjusted)")}} }var enumConformToProtocolTest = EnumConformToProtocol.First("FirstVal") enumConformToProtocolTest.simpleDescription enumConformToProtocolTest.adjust() enumConformToProtocolTest.simpleDescriptionenumConformToProtocolTest = EnumConformToProtocol.Third("ThirdVal") enumConformToProtocolTest.simpleDescription enumConformToProtocolTest.adjust() enumConformToProtocolTest.simpleDescriptionvar e = EnumConformToProtocol.Second("Hello") var text = e.simpleDescription e.simpleDescription = "Adios" text = e.simpleDescription e.adjust() text = e.simpleDescription
運行結果截圖:
Protocols and Extensions一節的小節練習,要求自行定義一個enumeration枚舉類型,并且遵循ExampleProtocol協議:
protocol ExampleProtocol {var simpleDescription: String { get }mutating func adjust() }
在網上找了好久,都不知道怎樣實現,最后參照一篇帖子(http://forums.macrumors.com/showthread.php?t=1740890),最終實現如下:
enum EnumConformToProtocol: ExampleProtocol {case First(String), Second(String), Third(String)var simpleDescription: String {get {switch self {case let .First(text):return textcase let .Second(text):return textcase let .Third(text):return textdefault:return "get error"}}set {switch self {case let .First(text):self = .First(newValue)case let .Second(text):self = .Second(newValue)case let .Third(text):self = .Third(newValue)}}}mutating func adjust() {switch self {case let .First(text):self = .First(text + " (first case adjusted)")case let .Second(text):self = .Second(text + " (second case adjusted)")case let .Third(text):self = .Third(text + " (third case adjusted)")}} }var enumConformToProtocolTest = EnumConformToProtocol.First("FirstVal") enumConformToProtocolTest.simpleDescription enumConformToProtocolTest.adjust() enumConformToProtocolTest.simpleDescriptionenumConformToProtocolTest = EnumConformToProtocol.Third("ThirdVal") enumConformToProtocolTest.simpleDescription enumConformToProtocolTest.adjust() enumConformToProtocolTest.simpleDescriptionvar e = EnumConformToProtocol.Second("Hello") var text = e.simpleDescription e.simpleDescription = "Adios" text = e.simpleDescription e.adjust() text = e.simpleDescription
運行結果截圖:
轉載于:https://www.cnblogs.com/sesexxoo/p/6189924.html
總結
以上是生活随笔為你收集整理的【Swift学习笔记00】——enumeration枚举类型遵循协议protocol的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DURABOOK 推出 U11 Rugg
- 下一篇: 长城汽车:2023 年上半年净利润同比预