在本例中,静态变量 textView 包含在 Holder 结构中。
但我遇到了一个问题,每次用户调用此函数时,我都必须设置“Holder.textView.fieldEditor = true”。
如何让这个 Action 只运行一次?
func myTextView() -> NSTextView {
struct Holder {
static var textView = NSTextView()
}
Holder.textView.fieldEditor = true
return Holder.textView
}
最佳答案
这个
struct Holder {
static var textView = NSTextView()
}
应该在函数范围之外定义。否则,每次调用 myTextView()
时,都会定义并实例化一个新的 Holder
结构。
这使得 static var
对您的目的毫无用处。
另一方面,如果您在函数外部定义 Holder
,则该值会在多次调用中保留。
看
关于swift - 如何在函数中设置静态变量的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473302/