第六节 协议(Protocol)和扩展(Extension)

发布时间:2020-05-22 02:13:30 作者:habout632
来源:网络 阅读:1359

本文来自于疯子们的开源图书

使用protocol来声明一个协议。

第六节 协议(Protocol)和扩展(Extension)

类,枚举,结构体都可以适用协议。

第六节 协议(Protocol)和扩展(Extension)

实验:写一个遵守这个协议的枚举.

注意使用关键词mutating在声明简单结构体(simpleStructure)来标记修改结构体的方法。简单类(simpleClass)的声明不需要其任何方法标记为改变的,因为类方法总是修改类。

使用扩展(extension)给现有的类型添加功能,如新方法和计算属性。你可以使用扩展让类型遵循额外的协议,比如在其他地方声明的类型,甚至是从库或框架中导入的类型。

第六节 协议(Protocol)和扩展(Extension)

试验:为Double类型添加一个扩展,给它添加一个absoluteValue属性

你可以使用一个协议名就像任何其他的命名类型--例如,创建一个有多个对象的集合,这些对象具有不同的类型,但是他们都遵守同一个协议。当你使用一个协议类型的变量的时候,协议定义之外的方法将不可用。

第六节 协议(Protocol)和扩展(Extension)

虽然protocolValue变量有一个叫做SimpleClass的运行时类型,编译器仍然把它当作ExampleProtocol这个给定的类型。这就意味着除了类遵循了这个协议的方法或者属性,类其他的访问或者属性你是不能随便访问的。

 


推荐阅读:
  1. Swift可选类型和可选链
  2. 详解在Swift中使用KVO

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

swift te ol

上一篇:基于PHP cookie会话保持之iRule脚本

下一篇:HTTP在.NET中的一些应用和解析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》