When I declare static parameter in extension of class then I have to write @nonobjc before variable like
@nonobjc static let test = \"test\"
a
(Addendum/additional official details to @bontoJR well summarizing answer)
From the Swift Language Reference - Attributes [emphasis mine]:
objc
Apply this attribute to any declaration that can be represented in Objective-C — for example, non-nested classes, protocols, nongeneric enumerations (constrained to integer raw-value types), properties and methods (including getters and setters) of classes and protocols, initializers, deinitializers, and subscripts. The
objc
attribute tells the compiler that a declaration is available to use in Objective-C code....
nonobjc
Apply this attribute to a method, property, subscript, or initializer declaration to suppress an implicit
objc
attribute. Thenonobjc
attribute tells the compiler to make the declaration unavailable in Objective-C code, even though it is possible to represent it in Objective-C....