这个笔记本,主要用于记录每天新掌握的 iOS 以及 Swift 知识点,温故而知新,也是培养自己的书写习惯。
记录了一些阅读代码过程中,碰到的一些不知道的关键字。
起
第一个遇到的关键字是 associatedtype,google 之后看到一篇文章,但是里面的示例代码又遇到一系列的关键字。。。
读 swift 时的我
这一段代码是这样的:
protocol Container {
associatedtype ItemType
mutating func append(_ item:ItemType)
var count:Int {
get
}
subscript(i:Int) -> ItemType {
get
}
}
所以我需要了解的关键字有
- mutating
- subscript
- associatedtype
mutating
中文意:突变和转变
看了一些资料同时也咨询了一下 swift 老司机
mutating 的用法简单来说就是:声明一个可以改变 struct 中成员变量的方法
如果我们直接改变,是会报错的,所以需要通过该字段来标识,从而可以编译通过
subscript
中文意:下标
见如下示例代码
subscript(requestedMeal : MealTime) -> String?
{
get
{
return meals[requestedMeal]
}
set(newMealName)
{
meals[requestedMeal] = newMealName
}
}
简单理解,它把一系列逻辑比如 Array 套 Dicationary,抽象成 k-v 形式的输入输出,简化了代码。
associatedtype
中文意:有关联的类型
通读下来,类似于泛型。
在协议里,声明该类型,操作都用该类型完成,但是在是写协议的类中,指定明确的类型
网友评论