Swift 与 OC 差异

1. 在Swift中class和struct的共同点和区别?

Class 和 Struct 是 Swift 中两种基本的数据类型,它们之间有一些共同点和区别。

共同点:

  1. 都可以定义属性 (properties) 和方法 (methods)。
  2. 都可以遵循协议 (protocols)。
  3. 都可以使用类型转换 (type casting)。
  4. 都可以使用扩展 (extensions) 添加新的功能。 区别:
  5. 不同的创建方式: 结构体是由 struct 关键字创建,类是由 class 关键字创建。
  6. 值类型和引用类型: 结构体是值类型,类是引用类型。结构体在进行赋值和传递时会进行值拷贝,类会进行引用传递。
  7. 继承: 类支持继承,结构体不支持。
  8. deinit: 类有 deinit 方法可以进行清理操作,结构体没有
  9. 通过mutating关键字来修改结构体中的属性,而类可以直接修改。
  10. 根据使用场景来决定是使用类还是结构体,如果需要继承或者在赋值或传递时需要进行引用传递,则使用类;如果需要一个简单的数据类型并且需要在赋值或传递时进行值拷贝,则使用结构体。需要注意的是,结构体和类都是可以使用协议和扩展,协议继承以及类型转换来扩展功能的,而不仅仅限于类.

选择结构体还是类取决于你的项目需求和预期行为。如果不需要继承或者在赋值和传递时需要进行值拷贝,则选择结构体;如果需要继承或者在赋值和传递时需要进行引用传递,则选择类。

results matching ""

    No results matching ""