Swift之协议(Protocols)
来源:互联网 发布:淘宝搜不到以前的订单 编辑:程序博客网 时间:2024/05/19 02:24
// 如果你为doesNotNeedToBeSettable只读属性实现了setter,也不会报错
protocol SomeProtocol {
var musBeSettable: Int {get set }
var doesNotNeedToBeSettable: Int { get }
}
protocol AnotherProtocol {
class var someTypeProperty:Int { get set }
}
protocol FullyNamed {
var fullName: String {get }
}
//遵守协议者,必须要有一个fullName的属性
struct Person: FullyNamed {
var fullName: String
}
var john = Person(fullName:"John Appleseed")
// 把FullyNamed协议的属性现实为计算属性
class Startship: FullyNamed {
var prefix: String?
var name: String
init(name: String, prefix:String? = nil) {
self.name = name
self.prefix = prefix
}
var fullName: String {
return (prefix !=nil ? prefix! + " " : " ") + name
}
}
var ncc1701 = Startship(name:"Enterprise", prefix: "USS")
ncc1701.fullName // "USS Enterprise"
- Swift之协议(Protocols)
- Swift协议(Protocols)
- Swift 协议(Protocols)
- Swift 协议(Protocols)
- 对照Java学习Swift--协议(Protocols)
- protocols 协议
- Swift学习笔记20——协议(Protocols)
- Introducing Swift - Protocols
- iOS开发入门教程之Objective-C · 协议(Protocols)
- Swift学习之协议
- swift基础之协议
- Swift之协议
- iOS 笔记六: 协议 Protocols
- Swift教程之代理协议
- Swift之协议( protocol)
- Protocols
- SCEA之路--11. Protocols
- 协议插件(Asynchronous Pluggable Protocols)
- CORBA与spring的服务互访
- java连接数据库(二)access: 简单连接步骤
- Linux mysql连接问题
- 联想机房同传日记——2014/09/17
- 我的开源夏令营--刚刚过去的两个月
- Swift之协议(Protocols)
- Android开发之去掉标题栏的三种方法,推荐第三种
- poj 3254
- NYOJ 题目837 Wythoff Game(威佐夫博奕必败点,水题)
- JavaScript跨域问题探究一
- 算法学习(一)
- cocos2dx简单弹窗实现
- 交互设计
- 举例说同步异步阻塞非阻塞机制