swift-protocol
2016-02-03 09:00
471 查看
import Foundation //定义 一个协议 //遵守 基协议 可以 遵守多个 继承 协议 protocol WorkProtocol { func work()//必须要实现的 } //定义 可选的 必须加 @objc 和 oc 兼容 //如果协议遵守了基协议 那么 遵守协议的类要继承NSObject类 @objc protocol BuyWoodProtocol:NSObjectProtocol { //默认必须要实现 func buyWoodWithWeight(w:Int) ->Void //可选的 可以实现也可以不实现 optional 以前版本 是@optional optional func song() optional func driveCar() } @objc protocol NewProtocol { optional func jump() } class Person :NSObject,BuyWoodProtocol,NewProtocol { var age = 0 init (age:Int) { self.age = age } //必须实现协议中的方法 func buyWoodWithWeight(w: Int) { Swift.print("buyWood:\(w) t") } func print(){ Swift.print("print") } //可以实现可选的方法 func song() { Swift.print("song") } } //定义一个对象 let xiaohong = Person(age: 100) xiaohong.print() //强制 转化为 遵守协议的对象 //as 强制转化引用对象类型 let delegate = xiaohong as BuyWoodProtocol //delegate 就可以调用协议中的方法 //执行协议中的方法 delegate.buyWoodWithWeight(1000) //可选的方法 不能直接调用 要用可选值 //如果有就调用 没有就不调用返回nil delegate.song?() delegate.driveCar?()
相关文章推荐
- Swift初窥--使用Swift实现TableView
- Swift协议(Protocol)
- swift接口的使用
- swift方法之URLForDirectory
- Swift中ViewController类与storyboard绑定报错
- Apple Swift 中文教程 高速參考 基本的语法
- Swift 特殊关键字 与符号
- Swift 引用计数总结 Strong,Weak, unowned 简单使用
- Swift - 操作SQLite数据库(引用SQLite3库)
- Swift 协议(Protocols)
- swift里的函数和闭包
- Swift解析JSON数据
- iOS8开发~Swift(一)入门
- 【引】swift是什么?
- swift-结构体和类创建的变量
- swift-setter&getter
- swift-类
- 弱引用?强引用?未持有?额滴神啊-- Swift 引用计数指导
- 11.Swift 中的类和结构体
- swift-比较运算符