Swift接口和扩展

前端之家收集整理的这篇文章主要介绍了Swift接口和扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这里主要说一下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 UIKit

class 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,大家感兴趣的话可以认真看一下哦

猜你在找的Swift相关文章