gpt4 book ai didi

objective-c - 在其方法调用中设置静态(使用单例模式)

转载 作者:行者123 更新时间:2023-12-03 17:32:05 24 4
gpt4 key购买 nike

是某事。像这样合法吗?它可以编译并且看起来运行正常,但是这样可以吗? (目标是在我的方法中将自己设置为零)

我的意思是我在一种方法中将自己的静态设置为零

static MyClass * StaticInstance = nil;

+ (MyClass *) sharedStaticInstance
{
if (StaticInstance == nil) {
StaticInstance = [[MyClass alloc] init];
}

return StaticInstance;
}

- (void) killStaticSelf
{
StaticInstance = nil;
}

及以后

[[MyClass sharedStaticInstance] doSmth]; // our static instance is created
[[MyClass sharedStaticInstance] killStaticSelf]; // now its killed inside itself method
[[MyClass sharedStaticInstance] doSmth]; // now it should recreate again

最佳答案

它有内存泄漏。您应该首先释放 StaticInstance,然后为它分配 nil

关于objective-c - 在其方法调用中设置静态(使用单例模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9209869/

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