struct 是值类型, class 是引用类型
如果你持有一个实例, 想在多个地方对这个实例的属性的修改生效, 那么应该用class, 因为你在struct的实例中做修改之后, 生成的是另一个新的实例了, 在访问之前的就不对了
其他区别:
- class 可继承,可实现OC的一些特性
- struct要想默认实现一些方法需要遵循协议, class既可以遵循协议又可以继承父类
- class使用需要考虑多线程, struct不用
参见: https://developer.apple.com/documentation/swift/choosing_between_structures_and_classes
网友评论