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
- Swift接口和扩展
- Swift接口和扩展
- swift 协议和扩展
- Swift-协议和扩展
- 学习swift《swift简述协议和扩展》
- 职群教育 | IOS开发 Swift语言入门(六):接口、扩展和泛型
- swift语言 继承和扩展
- 扩展和组合接口
- 接口和扩展
- Swift 简单继承和动态扩展
- Swift学习小结之协议和扩展
- swift析构方法和扩展
- swift学习笔记 -- 协议和扩展
- Swift初体验-协议和扩展
- Swift学习——A Swift Tour 协议和扩展
- [Swift]扩展
- Swift-扩展
- Swift 扩展
- 搜狐 扎金花
- 【bzoj4514】[Sdoi2016]数字配对 费用流
- DOM启蒙——第三章
- kafka-manager免构建包
- 静态数据成员的应用
- Swift接口和扩展
- Django ModelAdmin 中设置字段的默认值
- 剑指offer系列之35:两个链表的第一个公共节点
- 初学者理解throw和throws
- linux 5种查找命令
- bzoj1901: Zju2112 Dynamic Rankings
- maven-mybatis-generator插件使用
- zzulioj1867(组合数学&错位排列)
- C#调用C++接口返回字符串的做法