如何在函数

时间:2016-05-27 01:12:39

标签: swift swift2.2

在这种情况下,静态变量textView包含在Holder结构中 但我遇到了一个问题,我必须设置" Holder.textView.fieldEditor = true"每次用户调用此功能时 如何让这个动作只运行一次?

func myTextView() -> NSTextView {

    struct Holder {
        static var textView = NSTextView()
    }

    Holder.textView.fieldEditor = true
    return Holder.textView
}

1 个答案:

答案 0 :(得分:0)

struct Holder {
    static var textView = NSTextView()
}

应该在函数范围之外定义。否则,每次调用myTextView()时,都会定义并实例化新的Holder结构。

这使得static var无法用于您的目的。

另一方面,如果在函数外部定义Holder,则值会在多次调用中保持不变。

查找

enter image description here