gpt4 book ai didi

iphone - 如何释放并重新初始化单例类?

转载 作者:太空狗 更新时间:2023-10-30 03:36:46 25 4
gpt4 key购买 nike

是否可以释放类对象?

我有一个单例类“singleton.h”,它只有一个实例,我们可以在任何其他 View Controller 中使用它的属性。

+(singleton *)sharedMethod{
static singleton *myInstance=nil;
if(myInstance ==nil){
myInstance=[[singleton alloc] init]; myInstace.str=@"hello";
}
return myInstance;
}

我想知道的是..,有没有什么方法可以在我们的任何 viewControllers 中释放类对象...然后再次创建一个新的单例类的实例..,我试过这样做..,Xcode 抛出错误“无法释放类对象”。

最佳答案

单例的全部意义在于您永远不会释放它。其他类可能会保护指向该实例的指针,因此如果您想替换它,您会遇到奇怪的行为,有时甚至会崩溃。所以你不应该这样做。

但这是可能的,只要您没有覆盖 releaseretainCount 方法。但是您引用的错误消息似乎表明您已经按照 [MyClass release]; 的方式做了一些事情,当然这是行不通的。

顺便说一句,您似乎将 singleton 作为类名。请尽量遵守 Apple 使用的编码约定,以使您和其他人的生活更轻松。类名称应始终以大写字符开头,方法名称应始终以小写字符开头。

关于iphone - 如何释放并重新初始化单例类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com