如何在Visualworks中初始化类变量并在使用后销毁它?我想知道关于ClassVariables的事。不是ClassInstanceVariables。
我正在实现Singleton模式,下面是我的代码
MyClass class>> aClasMethod
aClassVariable isNil ifTrue:[
aClassVariable := 'I am a variable'.
]
^aClassVariable.一旦创建了变量,我就无法销毁它。也就是说,下次我运行我的代码时,我会看到这个类变量保留了它以前的值。我怎么才能避免这种情况?
我试过这样做: MyClass allInstances do::inst \ inst变成: nil。但没有用。
发布于 2013-12-04 22:16:34
最好的方法是添加一个类方法,将类变量设置为零,然后在适当的时候调用它。我一直在用Singleton模式做这件事。
发布于 2013-12-06 01:14:28
我认为我们通常使用单例模式,这样我们就只有一个对象。我不知道为什么要在类变量中存储字符串值。尝试存储一个对象,这样您将只有该特定对象的一个副本,并将值存储在实例变量中。所以特定的对象只有一些特定的值。然后,将来,如果您需要更新存储在实例变量中的值,则再创建一个方法updateValues,并在其中执行所有操作。
https://stackoverflow.com/questions/20379107
复制相似问题