我创建了一个使用静态NSSet的类来定义我的类的每个实例共享的一些元素。
要定义此项,请使用以下代码:
myStaticSet = [[NSSet setWithObjects:
@"element one",
@"element two",
nil
]retain];
你可以看到我保留了这套。
我真的无法理解我可以在哪里发布myStaticVariable
我很确定我无法在dealloc
中发布它...那么有没有办法释放静态变量?
// EDIT 添加新的类方法来释放静态值可能是一个很好的解决方案吗?
+(void)cleanstatic{
[mystatic release];
}
当我确定我已经完成了这门课程的时候打电话给它?
答案 0 :(得分:5)
如果您正在使用静态变量并希望将其释放,那么它毕竟不应该是静态的?它是否在应用程序的整个生命周期中使用?在那种情况下,我会说你不必费心去释放它。
否则,如果您使用此变量对代码有一些共同的“端点”,那么就可以摆脱它。
答案 1 :(得分:3)
你不应该发布它。正如你所说,它是由你的每个类实例共享的,你永远不能确定你不会创建新的实例。因此,只要您的应用程序正在运行,该集就应该存在。