如果我错了,请纠正我,但它看起来像一个常量(let
)字段,其初始值在声明中指定(而不是在构造函数中获得)可以假设为static
,因为该值对于类的所有实例都是相同的。我想知道Swift编译器是否适合这种情况。
明确指定所有静态字段(MyClass.myStaticField
而不仅仅是staticField
)的类名的需要确实让我烦恼,但是如果常量是隐式静态的,那么删除static
关键字将允许仅通过变量名称来引用它们,这使得代码简洁且更易读。
在功能上它类似于静态属性,但是如果你创建一个赋值作为实例变量的常量(例如,你没有指定它是静态的)那么它仍然是一个实例上的常量,授予它们'各实例之间相同。不妨让它静止,并让它属于那个阶段的类。所以要回答你的问题,不,它不被认为是静态的,如果它是静态的,它仍然必须被标记为静态。