我已经创建了一个使用静态的NSSet来定义我的类的每个实例共享某些元素的类。可可释放一个静态变量
要定义这个瑟我用这个代码:
myStaticSet = [[NSSet setWithObjects:
@"element one",
@"element two",
nil
]retain];
正如你可以看到我保留集。
我真的不明白我在哪里可以发布myStaticVariable
我敢肯定,我不能释放它在dealloc
...那么有没有办法释放一个静态变量?
//编辑 这可能是一个很好的解决方案增加了一类新方法来释放静态值?
+(void)cleanstatic{
[mystatic release];
}
当我确定我已经完成了这个课程时调用它?
谢谢你,你可以看看我的编辑? – MatterGoal
当然,这是可能的,但是在例如多线程场景中很容易出错。如果可能的话,我宁愿推荐重构你的代码,以便将它加入到一个实例变量中,然后你可以在完成时根据和释放来处理它。有什么特别的东西让你想要释放变量吗?它有很多数据吗? – lbergnehr
它只需要20个字符串,但我正在寻找写这段代码的正确方法。我认为为这个类的每个实例创建20个字符串不是正确的方式,因此,我想采用静态变量。那么,在多线程场景中,这个实现会是一团糟? – MatterGoal