Swift接口和扩展

来源:互联网 发布:网络用语mmp是什么意思 编辑:程序博客网 时间:2024/05/22 07:02

这里主要说一下swift中的接口,其中类、结构体和枚举都可以实现接口。下面通过代码来分别实现一下

////  ViewController.swift//  swiftDemo////  Created by Jack on 16/4/6.//  Copyright © 2016年 Jack. All rights reserved.//protocol ExampleProtocol {    var simpleDescription: String { get }    mutating func adjust()}import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.    //类、枚举和结构体都可以实现接口。        class SimpleClass: ExampleProtocol {   //类实现接口            var simpleDescription: String = "A very simple class."            var anotherProperty: Int = 69105            func adjust() {                simpleDescription += "  Now 100% adjusted."            }        }        let a = SimpleClass()        a.adjust()        let aDescription = a.simpleDescription        print(aDescription);        struct SimpleStructure: ExampleProtocol {  //结构体实现接口            var simpleDescription: String = "A simple structure"            mutating func adjust() {                simpleDescription += " (adjusted)"            }        }        var b = SimpleStructure()        b.adjust()        let bDescription = b.simpleDescription        print(bDescription);        enum MyEnum: ExampleProtocol {  //枚举实现接口            case Earth, Moon, Mars            var simpleDescription: String {                get {                    switch self {                    case .Earth:                        return "earth"                    case .Moon:                        return "moon"                    case .Mars:                        return "mars"                    }                }            }            mutating func adjust() {                switch self {                case .Earth:                    self = .Moon                case .Moon:                    self = .Mars                case .Mars:                    self = .Earth                }            }        }        var myEnum = MyEnum.Earth        print(myEnum.simpleDescription)        myEnum.adjust()        print(myEnum.simpleDescription)        myEnum.adjust()        print(myEnum.simpleDescription)        myEnum.adjust()        print(myEnum.simpleDescription)    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

其中,最后一个枚举实现接口是书中的一个练习题,好不容易从网上找到的一个demo,大家感兴趣的话可以认真看一下哦

0 0
原创粉丝点击