var collegeNames : String!
struct collegeName {
static var clgName = collegeNames()
}
我会收到以下错误:
"实例变量'collegenames'不能在类型的'ViewController'上使用
我想您要创建一个单例,但是您在collegeNames
中有一个错字,并且您还需要用let
替换var
,也替换此行:
static var clgName = collegeNames()
with:
static let clgName = collegeName()
问题是 collegeNames()
是不一致的。您不能按括号遵循变量名称;这没有道理。
如果您删除了括号,则可以编译;但是,尽管结果会编译,但结果仍然是一件非常愚蠢的事情,因为您不能给static var
一个动态值。它的值将始终为 nil
,因为那是 collegeNames
的值。
如果目标是实现单例,请完全删除collegeNames
并将静态属性初始化为collegeName()
。您还将使用let
,而不是var
。如果您只遵守《大写惯例》,那么整个模式就会得到极大的澄清:
struct CollegeName {
static var clgName = CollegeName()
}
这是Swift中的标准单例图案。