Swift中声明协议中的class关键字的作用
2016-04-12 07:50
225 查看
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
最近在Cocos2D编程for Swift中看到以下一个代码片段:
protocol GameMode:class{ var userInterface:CCNode! {get} func gameplay(mainScene:MainScene,droppedFallingObject:FallingObject) func gameplay(mainScene:MainScene,caughtFallingObject:FallingObject) func gameplayStep(mainScene:MainScene,delta:CCTime)->GameOver }
注意在声明协议名后直接跟了一个class关键字,这是神马意思?
查阅Swift编程手册得知协议中的class关键字用来限制该协议只能应用在类上,原话是这么说的:
“You can limit protocol adoption to class types (and not structures or enumerations) by adding the class keyword must always appear first in a protocol’s inheritance list, before any inherited protocols”
所以如果你无所谓这个限制,你大可不必加class关键字,没有什么区别!
相关文章推荐
- Swift中声明协议中的class关键字的作用
- swift学习日记-可选链(optional chaining)
- swift学习日记-基础部分
- Swift字符串和基本数据类型之间转换
- Swift3.0获取APP版本号,提示用户升级
- Swift Tour
- Swift 定位 SwiftLocationManager
- swift 初步接触 基本语法 方法命名 !和?区别 as!和as?区别 let和var区别 extension override private (一)
- Openstack Swift 原理、架构与 API 介绍
- Swift基础语法(常量变量、数据类型、元组、可选、断言等)
- Swift开源项目汇总
- oc与swift混编教程
- OC 和swift混编网址
- swift.h和briging文件冲突,重复包含
- swift 基础
- swift学习体验
- swift对象
- Swift 之面向对象
- 哈哈,好像swift 以后有可能用来开发安卓喔
- Swift快速入门之函数