Swift

时间:2018-03-22 12:48:58

标签: swift

我试图将变量添加到扩展中,但我知道这些只能使用AssociatedKeys,这是我们对Swift扩展的唯一限制

代码:

class Car {

    var engine : Engine?

}
class Engine {}

extension Car{

    var abc : String?
    var xyz : String?

}

编译错误:

Extensions may not contain stored properties

1 个答案:

答案 0 :(得分:0)

documentation扩展程序可以:

  

Swift中的扩展程序可以:

     
      
  • 添加计算实例属性和计算类型属性
  •   
  • 定义实例方法和类型方法
  •   
  • 提供新的初始化程序
  •   
  • 定义下标
  •   
  • 定义并使用新的嵌套类型
  •   
  • 使现有类型符合协议
  •   

这个重要的说明:

  

扩展程序可以为类型添加新功能,但它们无法覆盖现有功能。