Swift 中的Class 和 Struct

2017-09-08  本文已影响0人  Zakerberg

Swift里面 ,Struct 是值类型 , 而Class 是引用类型. 

 class 能继承,而 struct 不能。

再之,在 swift 中 struct 是值,而 class 是引用。所谓值,struct 一旦生成是不能变的,如果有一个方法改变了自己的属性,这个方法需要标为 mutating,修改时会产生一个新值去替代旧值(这一步可能会被编译器优化,并不一定会真的产生一个新 struct)。而 class 无论怎么传递都是同一个对象。

值和引用的区别使 struct 不会有多线竞争的问题,class 会有。

有些 protocol 只能被类遵守。

上一篇 下一篇

猜你喜欢

热点阅读