一些关键字与概念

这个笔记本,主要用于记录每天新掌握的 iOS 以及 Swift 知识点,温故而知新,也是培养自己的书写习惯。

记录了一些阅读代码过程中,碰到的一些不知道的关键字。

第一个遇到的关键字是 associatedtype,google 之后看到一篇文章,但是里面的示例代码又遇到一系列的关键字。。。


一些关键字与概念_第1张图片
读 swift 时的我

这一段代码是这样的:

protocol Container {   
  associatedtype ItemType    
  mutating func append(_ item:ItemType)   
  var count:Int { 
    get
   }    
  subscript(i:Int) -> ItemType { 
    get
   }
}

所以我需要了解的关键字有

  1. mutating
  2. subscript
  3. associatedtype

mutating

中文意:突变和转变
看了一些资料同时也咨询了一下 swift 老司机
mutating 的用法简单来说就是:声明一个可以改变 struct 中成员变量的方法
如果我们直接改变,是会报错的,所以需要通过该字段来标识,从而可以编译通过

subscript

中文意:下标
见如下示例代码

subscript(requestedMeal : MealTime) -> String?
{
    get
    {
        return meals[requestedMeal]
    }
    set(newMealName)
    {
        meals[requestedMeal] = newMealName
    }
}

简单理解,它把一系列逻辑比如 Array 套 Dicationary,抽象成 k-v 形式的输入输出,简化了代码。

associatedtype

中文意:有关联的类型
通读下来,类似于泛型。
在协议里,声明该类型,操作都用该类型完成,但是在是写协议的类中,指定明确的类型

你可能感兴趣的:(一些关键字与概念)